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

Commit 5038d58c authored by Andrei Stingaceanu's avatar Andrei Stingaceanu
Browse files

AutoSize TextView (part 3) - define who supports autosize

Introduces a new protected hidden method that
specifies if the TextView (or descendant) widget
supports the autosize feature. All direct children of
TextView (besides EditText) support it.

Bug: 33098425
Bug: 32221168
Test: attached in the topic

Change-Id: I6f0092b4c9948afb427fe597b0515a39b1f258f6
parent 803abe73
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -140,6 +140,12 @@ public class EditText extends TextView {
        return EditText.class.getName();
    }

    /** @hide */
    @Override
    protected boolean supportsAutoSizeText() {
        return false;
    }

    /** @hide */
    @Override
    public void onInitializeAccessibilityNodeInfoInternal(AccessibilityNodeInfo info) {
+11 −3
Original line number Diff line number Diff line
@@ -1534,7 +1534,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
        }

        // Setup auto-size.
        if (mEditor == null) {
        if (supportsAutoSizeText()) {
            switch (mAutoSizeType) {
                case AUTO_SIZE_TYPE_NONE:
                    // Nothing to do.
@@ -9261,14 +9261,22 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
    }

    /**
     * @return true if this TextView is specialized for showing and interacting with the extracted
     * text in a full-screen input method.
     * @return {@code true} if this TextView is specialized for showing and interacting with the
     * extracted text in a full-screen input method.
     * @hide
     */
    public boolean isInExtractedMode() {
        return false;
    }

    /**
     * @return {@code true} if this TextView supports autosizing text to fit within its container.
     * @hide
     */
    protected boolean supportsAutoSizeText() {
        return true;
    }

    /**
     * This is a temporary method. Future versions may support multi-locale text.
     * Caveat: This method may not return the latest spell checker locale, but this should be