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

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

Merge "Re-use the display list valid flag, save a boolean"

parents 73ba0df1 28ab0b5d
Loading
Loading
Loading
Loading
+17 −18
Original line number Diff line number Diff line
@@ -1214,7 +1214,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
            if (imm != null) imm.restartInput(this);
        }

        if (mEditor != null) getEditor().mTextDisplayListIsValid = false;
        if (mEditor != null) getEditor().invalidateTextDisplayList();
        prepareCursorControllers();

        // start or stop the cursor blinking as appropriate
@@ -2328,7 +2328,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
    public void setHighlightColor(int color) {
        if (mHighlightColor != color) {
            mHighlightColor = color;
            if (mEditor != null) getEditor().mTextDisplayListIsValid = false;
            if (mEditor != null) getEditor().invalidateTextDisplayList();
            invalidate();
        }
    }
@@ -2349,7 +2349,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
        mShadowDx = dx;
        mShadowDy = dy;

        if (mEditor != null) getEditor().mTextDisplayListIsValid = false;
        if (mEditor != null) getEditor().invalidateTextDisplayList();
        invalidate();
    }

@@ -2841,7 +2841,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
            }
        }
        if (inval) {
            if (mEditor != null) getEditor().mTextDisplayListIsValid = false;
            if (mEditor != null) getEditor().invalidateTextDisplayList();
            invalidate();
        }
    }
@@ -3334,7 +3334,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener

        // Invalidate display list if hint will be used
        if (mEditor != null && mText.length() == 0 && mHint != null) {
            getEditor().mTextDisplayListIsValid = false;
            getEditor().invalidateTextDisplayList();
        }
    }

@@ -4426,13 +4426,13 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
                    if (dr.mDrawableStart != null) dr.mDrawableStart.mutate().setAlpha(alpha);
                    if (dr.mDrawableEnd != null) dr.mDrawableEnd.mutate().setAlpha(alpha);
                }
                if (mEditor != null) getEditor().mTextDisplayListIsValid = false;
                if (mEditor != null) getEditor().invalidateTextDisplayList();
            }
            return true;
        }

        if (mCurrentAlpha != 255) {
            if (mEditor != null) getEditor().mTextDisplayListIsValid = false;
            if (mEditor != null) getEditor().invalidateTextDisplayList();
        }
        mCurrentAlpha = 255;
        return false;
@@ -6289,7 +6289,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
    @Override
    protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
        super.onLayout(changed, left, top, right, bottom);
        if (changed && mEditor != null) getEditor().mTextDisplayListIsValid = false;
        if (changed && mEditor != null) getEditor().invalidateTextDisplayList();
    }

    private boolean isShowingHint() {
@@ -7127,7 +7127,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
            } else {
                ims.mContentChanged = true;
            }
            if (mEditor != null) getEditor().mTextDisplayListIsValid = false;
            if (mEditor != null) getEditor().invalidateTextDisplayList();
        }

        if (MetaKeyKeyListener.isMetaTracker(buf, what)) {
@@ -8274,7 +8274,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
            if (getEditor().mPositionListener != null) {
                getEditor().mPositionListener.onScrollChanged();
            }
            getEditor().mTextDisplayListIsValid = false;
            getEditor().invalidateTextDisplayList();
        }
    }

@@ -11300,7 +11300,6 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
        InputMethodState mInputMethodState;

        DisplayList mTextDisplayList;
        boolean mTextDisplayListIsValid;

        boolean mFrozenWithFocus;
        boolean mSelectionMoved;
@@ -11389,9 +11388,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
                removeCallbacks(mShowSuggestionRunnable);
            }

            if (mTextDisplayList != null) {
                mTextDisplayList.invalidate();
            }
            invalidateTextDisplayList();

            if (mSpellChecker != null) {
                mSpellChecker.closeSession();
@@ -11548,7 +11545,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener

        void sendOnTextChanged(int start, int after) {
            updateSpellCheckSpans(start, start + after, false);
            mTextDisplayListIsValid = false;
            invalidateTextDisplayList();

            // Hide the controllers as soon as text is modified (typing, procedural...)
            // We do not hide the span controllers, since they can be added when a new text is
@@ -11705,8 +11702,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
            layout.drawBackground(canvas, highlight, mHighlightPaint, cursorOffsetVertical,
                    firstLine, lastLine);

            if (mTextDisplayList == null || !mTextDisplayList.isValid() ||
                    !mTextDisplayListIsValid) {
            if (mTextDisplayList == null || !mTextDisplayList.isValid()) {
                if (mTextDisplayList == null) {
                    mTextDisplayList = getHardwareRenderer().createDisplayList("Text");
                }
@@ -11723,7 +11719,6 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
                } finally {
                    hardwareCanvas.onPostDraw();
                    mTextDisplayList.end();
                    mTextDisplayListIsValid = true;
                }
            }
            canvas.translate(mScrollX, mScrollY);
@@ -11741,6 +11736,10 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
            if (translate) canvas.translate(0, -cursorOffsetVertical);
        }

        private void invalidateTextDisplayList() {
            if (mTextDisplayList != null) mTextDisplayList.invalidate();
        }

        private void updateCursorsPositions() {
            if (mCursorDrawableRes == 0) {
                mCursorCount = 0;