Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 876a5dfe authored by Leon Scroggins's avatar Leon Scroggins Committed by Android Git Automerger
Browse files

am b2212464: Merge "Ensure the selection does not change in setTextAndKeepSelection." into froyo

Merge commit 'b2212464' into froyo-plus-aosp

* commit 'b2212464':
  Ensure the selection does not change in setTextAndKeepSelection.
parents a18df134 b2212464
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -343,6 +343,7 @@ import java.util.ArrayList;

    @Override
    protected void onSelectionChanged(int selStart, int selEnd) {
        if (mInSetTextAndKeepSelection) return;
        // This code is copied from TextView.onDraw().  That code does not get
        // executed, however, because the WebTextView does not draw, allowing
        // webkit's drawing to show through.
@@ -799,8 +800,14 @@ import java.util.ArrayList;
    /* package */ void setTextAndKeepSelection(String text) {
        mPreChange = text.toString();
        Editable edit = (Editable) getText();
        int selStart = Selection.getSelectionStart(edit);
        int selEnd = Selection.getSelectionEnd(edit);
        mInSetTextAndKeepSelection = true;
        edit.replace(0, edit.length(), text);
        int newLength = edit.length();
        if (selStart > newLength) selStart = newLength;
        if (selEnd > newLength) selEnd = newLength;
        Selection.setSelection(edit, selStart, selEnd);
        mInSetTextAndKeepSelection = false;
        updateCachedTextfield();
    }