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

Commit 11b989ec authored by cketti's avatar cketti
Browse files

Remove ability to configure `TokenCompleteTextView.preventFreeFormText`

parent 048bbe83
Loading
Loading
Loading
Loading
+2 −26
Original line number Diff line number Diff line
@@ -66,7 +66,6 @@ public abstract class TokenCompleteTextView<T> extends AppCompatAutoCompleteText
    private Layout lastLayout = null;
    private boolean initialized = false;
    private boolean performBestGuess = true;
    private boolean preventFreeFormText = true;
    private boolean savingState = false;
    private boolean shouldFocusNext = false;
    private boolean allowCollapse = true;
@@ -147,9 +146,7 @@ public abstract class TokenCompleteTextView<T> extends AppCompatAutoCompleteText

                //Detect split characters, remove them and complete the current token instead
                if (tokenizer.containsTokenTerminator(source)) {
                    //Only perform completion if we don't allow free form text, or if there's enough
                    //content to believe this should be a token
                    if (preventFreeFormText || currentCompletionText().length() > 0) {
                    if (currentCompletionText().length() > 0) {
                        performCompletion();
                        return "";
                    }
@@ -256,18 +253,6 @@ public abstract class TokenCompleteTextView<T> extends AppCompatAutoCompleteText
        performBestGuess = guess;
    }

    /**
     * If set to true, the only content in this view will be the tokens and the current completion
     * text. Use this setting to create things like lists of email addresses. If false, it the view
     * will allow text in addition to tokens. Use this if you want to use the token search to find
     * things like user names or hash tags to put in with text.
     *
     * @param prevent true to prevent non-token text. Defaults to true.
     */
    public void preventFreeFormText(boolean prevent) {
        preventFreeFormText = prevent;
    }

    /**
     * Set whether the view should collapse to a single line when it loses focus.
     *
@@ -637,8 +622,7 @@ public abstract class TokenCompleteTextView<T> extends AppCompatAutoCompleteText
                //Ellipsize copies spans, so we need to stop listening to span changes here
                text.removeSpan(spanWatcher);

                CountSpan temp = preventFreeFormText ? countSpan : null;
                Spanned ellipsized = SpanUtils.ellipsizeWithSpans(temp, getObjects().size(),
                Spanned ellipsized = SpanUtils.ellipsizeWithSpans(countSpan, getObjects().size(),
                        lastLayout.getPaint(), text, maxTextWidth());

                if (ellipsized != null) {
@@ -848,9 +832,6 @@ public abstract class TokenCompleteTextView<T> extends AppCompatAutoCompleteText
     * Set the count span the current number of hidden objects
     */
    private void updateCountSpan() {
        //No count span with free form text
        if (!preventFreeFormText) { return; }

        Editable text = getText();

        int visibleCount = getText().getSpans(0, getText().length(), TokenImageSpan.class).length;
@@ -1094,7 +1075,6 @@ public abstract class TokenCompleteTextView<T> extends AppCompatAutoCompleteText

        state.allowCollapse = allowCollapse;
        state.performBestGuess = performBestGuess;
        state.preventFreeFormText = preventFreeFormText;
        Class parameterizedClass = reifyParameterizedTypeClass();
        //Our core array is Parcelable, so use that interface
        if (Parcelable.class.isAssignableFrom(parameterizedClass)) {
@@ -1131,7 +1111,6 @@ public abstract class TokenCompleteTextView<T> extends AppCompatAutoCompleteText

        allowCollapse = ss.allowCollapse;
        performBestGuess = ss.performBestGuess;
        preventFreeFormText = ss.preventFreeFormText;
        tokenizer = ss.tokenizer;
        addListeners();

@@ -1167,7 +1146,6 @@ public abstract class TokenCompleteTextView<T> extends AppCompatAutoCompleteText

        boolean allowCollapse;
        boolean performBestGuess;
        boolean preventFreeFormText;
        String parcelableClassName;
        List<?> baseObjects;
        String tokenizerClassName;
@@ -1178,7 +1156,6 @@ public abstract class TokenCompleteTextView<T> extends AppCompatAutoCompleteText
            super(in);
            allowCollapse = in.readInt() != 0;
            performBestGuess = in.readInt() != 0;
            preventFreeFormText = in.readInt() != 0;
            parcelableClassName = in.readString();
            if (SERIALIZABLE_PLACEHOLDER.equals(parcelableClassName)) {
                baseObjects = (ArrayList)in.readSerializable();
@@ -1210,7 +1187,6 @@ public abstract class TokenCompleteTextView<T> extends AppCompatAutoCompleteText
            super.writeToParcel(out, flags);
            out.writeInt(allowCollapse ? 1 : 0);
            out.writeInt(performBestGuess ? 1 : 0);
            out.writeInt(preventFreeFormText ? 1 : 0);
            if (SERIALIZABLE_PLACEHOLDER.equals(parcelableClassName)) {
                out.writeString(SERIALIZABLE_PLACEHOLDER);
                out.writeSerializable((Serializable)baseObjects);