diff --git a/core/java/android/widget/Editor.java b/core/java/android/widget/Editor.java
index 81ffff9afd4b2..2d1f85508968d 100644
--- a/core/java/android/widget/Editor.java
+++ b/core/java/android/widget/Editor.java
@@ -4299,10 +4299,15 @@ public class Editor {
boolean isExpanding;
final float xDiff = x - mPrevX;
- if (atRtl == isStartHandle()) {
- isExpanding = xDiff > 0 || currLine > mPreviousLineTouched;
+ if (isStartHandle()) {
+ isExpanding = currLine < mPreviousLineTouched;
} else {
- isExpanding = xDiff < 0 || currLine < mPreviousLineTouched;
+ isExpanding = currLine > mPreviousLineTouched;
+ }
+ if (atRtl == isStartHandle()) {
+ isExpanding |= xDiff > 0;
+ } else {
+ isExpanding |= xDiff < 0;
}
if (mTextView.getHorizontallyScrolling()) {
diff --git a/core/tests/coretests/res/layout/activity_text_view.xml b/core/tests/coretests/res/layout/activity_text_view.xml
index 7ab0b130c2939..e795c10003ee8 100644
--- a/core/tests/coretests/res/layout/activity_text_view.xml
+++ b/core/tests/coretests/res/layout/activity_text_view.xml
@@ -23,6 +23,6 @@
+ android:layout_height="wrap_content" />
-
\ No newline at end of file
+
diff --git a/core/tests/coretests/src/android/widget/TextViewActivityTest.java b/core/tests/coretests/src/android/widget/TextViewActivityTest.java
index 2c677438ca350..aa576417e992a 100644
--- a/core/tests/coretests/src/android/widget/TextViewActivityTest.java
+++ b/core/tests/coretests/src/android/widget/TextViewActivityTest.java
@@ -31,6 +31,7 @@ import static android.widget.espresso.FloatingToolbarEspressoUtils.assertFloatin
import static android.support.test.espresso.Espresso.onView;
import static android.support.test.espresso.action.ViewActions.click;
import static android.support.test.espresso.action.ViewActions.pressKey;
+import static android.support.test.espresso.action.ViewActions.replaceText;
import static android.support.test.espresso.action.ViewActions.typeTextIntoFocusedView;
import static android.support.test.espresso.assertion.ViewAssertions.matches;
import static android.support.test.espresso.matcher.ViewMatchers.isDisplayed;
@@ -213,6 +214,39 @@ public class TextViewActivityTest extends ActivityInstrumentationTestCase2