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

Commit 8da36372 authored by Gilles Debunne's avatar Gilles Debunne Committed by Android (Google) Code Review
Browse files

Merge "Fix a leak in TextView around ViewTreeObserver"

parents ba08462e 6f72cf80
Loading
Loading
Loading
Loading
+6 −8
Original line number Diff line number Diff line
@@ -128,7 +128,6 @@ import android.widget.RemoteViews.RemoteView;
import java.io.IOException;
import java.lang.ref.WeakReference;
import java.util.ArrayList;
import java.util.HashSet;

/**
 * Displays text to the user and optionally allows them to edit it.  A TextView
@@ -3980,13 +3979,6 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
            observer.removeOnPreDrawListener(this);
            mPreDrawState = PREDRAW_NOT_REGISTERED;
        }
        // No need to create the controller, as getXXController would.
        if (mInsertionPointCursorController != null) {
            observer.removeOnTouchModeChangeListener(mInsertionPointCursorController);
        }
        if (mSelectionModifierCursorController != null) {
            observer.removeOnTouchModeChangeListener(mSelectionModifierCursorController);
        }

        if (mError != null) {
            hideError();
@@ -9221,6 +9213,9 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener

        @Override
        public void onDetached() {
            final ViewTreeObserver observer = getViewTreeObserver();
            observer.removeOnTouchModeChangeListener(this);

            if (mHandle != null) mHandle.onDetached();
        }
    }
@@ -9349,6 +9344,9 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener

        @Override
        public void onDetached() {
            final ViewTreeObserver observer = getViewTreeObserver();
            observer.removeOnTouchModeChangeListener(this);

            if (mStartHandle != null) mStartHandle.onDetached();
            if (mEndHandle != null) mEndHandle.onDetached();
        }