Merge "Stop popping up the compatibility mode dialog all the time."
diff --git a/core/java/android/view/accessibility/AccessibilityEvent.java b/core/java/android/view/accessibility/AccessibilityEvent.java
index 9be2a67..c93b564 100644
--- a/core/java/android/view/accessibility/AccessibilityEvent.java
+++ b/core/java/android/view/accessibility/AccessibilityEvent.java
@@ -784,7 +784,7 @@
                 builder.append("\n");
             }
         } else {
-            builder.append("; recordCount: ").append(getAddedCount());
+            builder.append("; recordCount: ").append(getRecordCount());
         }
         return builder.toString();
     }
diff --git a/core/res/res/values/strings.xml b/core/res/res/values/strings.xml
index 6a3c2d5..afd8908 100755
--- a/core/res/res/values/strings.xml
+++ b/core/res/res/values/strings.xml
@@ -212,8 +212,8 @@
     <!-- android.net.http Error strings --> <skip />
     <!-- Displayed when a web request was successful. -->
     <string name="httpErrorOk">OK</string>
-    <!-- Displayed when a web request failed because we don't know the exact reason. -->
-    <string name="httpError">The Web page contains an error.</string>
+    <!-- Displayed when a web request failed with a generic network error. -->
+    <string name="httpError">A network error occurred.</string>
     <!-- Displayed when a web request failed because the URL could not be found. -->
     <string name="httpErrorLookup">The URL could not be found.</string>
     <!-- Displayed when a web request failed because the site's authentication scheme is not supported by us. -->
diff --git a/services/java/com/android/server/accessibility/TouchExplorer.java b/services/java/com/android/server/accessibility/TouchExplorer.java
index 0ad58d0..0808d5d 100644
--- a/services/java/com/android/server/accessibility/TouchExplorer.java
+++ b/services/java/com/android/server/accessibility/TouchExplorer.java
@@ -313,7 +313,7 @@
                             if (moveDelta > mTouchExplorationTapSlop) {
                                 mLastTouchExploreEvent = null;
                                 mPerformLongPressDelayed.remove();
-                               break;
+                                break;
                             }
                         }
                     } break;
@@ -388,6 +388,11 @@
                             mTouchExploreGestureInProgress = false;
                             mLastTouchExploreEvent = MotionEvent.obtain(event);
                             sendAccessibilityEvent(TYPE_TOUCH_EXPLORATION_GESTURE_END);
+                            final int lastAction = mPointerTracker.getLastInjectedHoverAction();
+                            if (lastAction != MotionEvent.ACTION_HOVER_EXIT) {
+                                sendMotionEvent(event, MotionEvent.ACTION_HOVER_EXIT,
+                                        pointerIdBits, policyFlags);
+                            }
                             break;
                         }