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

Commit 4af1de39 authored by Adam Powell's avatar Adam Powell Committed by Android Git Automerger
Browse files

am fb6431c0: Merge "Fix bug 3064135 - do not allow text handles on TextViews...

am fb6431c0: Merge "Fix bug 3064135 - do not allow text handles on TextViews in sub windows." into gingerbread

Merge commit 'fb6431c0' into gingerbread-plus-aosp

* commit 'fb6431c0':
  Fix bug 3064135 - do not allow text handles on TextViews in sub windows.
parents a9c2ef84 fb6431c0
Loading
Loading
Loading
Loading
+12 −2
Original line number Original line Diff line number Diff line
@@ -92,6 +92,7 @@ import android.view.MenuItem;
import android.view.MotionEvent;
import android.view.MotionEvent;
import android.view.View;
import android.view.View;
import android.view.ViewDebug;
import android.view.ViewDebug;
import android.view.ViewGroup;
import android.view.ViewGroup.LayoutParams;
import android.view.ViewGroup.LayoutParams;
import android.view.ViewParent;
import android.view.ViewParent;
import android.view.ViewRoot;
import android.view.ViewRoot;
@@ -6857,8 +6858,17 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
    }
    }


    private void prepareCursorControllers() {
    private void prepareCursorControllers() {
        boolean windowSupportsHandles = false;

        ViewGroup.LayoutParams params = getRootView().getLayoutParams();
        if (params instanceof WindowManager.LayoutParams) {
            WindowManager.LayoutParams windowParams = (WindowManager.LayoutParams) params;
            windowSupportsHandles = windowParams.type < WindowManager.LayoutParams.FIRST_SUB_WINDOW
                    || windowParams.type > WindowManager.LayoutParams.LAST_SUB_WINDOW;
        }

        // TODO Add an extra android:cursorController flag to disable the controller?
        // TODO Add an extra android:cursorController flag to disable the controller?
        if (mCursorVisible && mLayout != null) {
        if (windowSupportsHandles && mCursorVisible && mLayout != null) {
            if (mInsertionPointCursorController == null) {
            if (mInsertionPointCursorController == null) {
                mInsertionPointCursorController = new InsertionPointCursorController();
                mInsertionPointCursorController = new InsertionPointCursorController();
            }
            }
@@ -6866,7 +6876,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
            mInsertionPointCursorController = null;
            mInsertionPointCursorController = null;
        }
        }


        if (textCanBeSelected() && mLayout != null) {
        if (windowSupportsHandles && textCanBeSelected() && mLayout != null) {
            if (mSelectionModifierCursorController == null) {
            if (mSelectionModifierCursorController == null) {
                mSelectionModifierCursorController = new SelectionModifierCursorController();
                mSelectionModifierCursorController = new SelectionModifierCursorController();
            }
            }