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

Commit 5bb2e09c authored by Alex Salo's avatar Alex Salo Committed by Android (Google) Code Review
Browse files

Merge "Add human readable inputType into dump()" into main

parents cab68154 e1674c2f
Loading
Loading
Loading
Loading
+32 −1
Original line number Original line Diff line number Diff line
@@ -22,8 +22,10 @@ import android.os.PooledStringWriter;
import android.os.RemoteException;
import android.os.RemoteException;
import android.os.SystemClock;
import android.os.SystemClock;
import android.service.autofill.FillRequest;
import android.service.autofill.FillRequest;
import android.text.InputType;
import android.text.Spanned;
import android.text.Spanned;
import android.text.TextUtils;
import android.text.TextUtils;
import android.util.ArrayMap;
import android.util.Log;
import android.util.Log;
import android.util.Pair;
import android.util.Pair;
import android.view.View;
import android.view.View;
@@ -2452,7 +2454,7 @@ public class AssistStructure implements Parcelable {
                    + node.getTextStyle());
                    + node.getTextStyle());
            Log.i(TAG, prefix + "  Text color fg: #" + Integer.toHexString(node.getTextColor())
            Log.i(TAG, prefix + "  Text color fg: #" + Integer.toHexString(node.getTextColor())
                    + ", bg: #" + Integer.toHexString(node.getTextBackgroundColor()));
                    + ", bg: #" + Integer.toHexString(node.getTextBackgroundColor()));
            Log.i(TAG, prefix + "  Input type: " + node.getInputType());
            Log.i(TAG, prefix + "  Input type: " + getInputTypeString(node.getInputType()));
            Log.i(TAG, prefix + "  Resource id: " + node.getTextIdEntry());
            Log.i(TAG, prefix + "  Resource id: " + node.getTextIdEntry());
        }
        }
        String webDomain = node.getWebDomain();
        String webDomain = node.getWebDomain();
@@ -2664,4 +2666,33 @@ public class AssistStructure implements Parcelable {
            return new AssistStructure[size];
            return new AssistStructure[size];
        }
        }
    };
    };

    private static final ArrayMap<Integer, String> INPUT_TYPE_VARIATIONS = new ArrayMap<>();
    static {
        INPUT_TYPE_VARIATIONS.put(InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS, "EmailSubject");
        INPUT_TYPE_VARIATIONS.put(InputType.TYPE_TEXT_VARIATION_POSTAL_ADDRESS, "PostalAddress");
        INPUT_TYPE_VARIATIONS.put(InputType.TYPE_TEXT_VARIATION_PERSON_NAME, "PersonName");
        INPUT_TYPE_VARIATIONS.put(InputType.TYPE_TEXT_VARIATION_PASSWORD, "Password");
        INPUT_TYPE_VARIATIONS.put(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD, "VisiblePassword");
        INPUT_TYPE_VARIATIONS.put(InputType.TYPE_TEXT_VARIATION_URI, "URI");
        INPUT_TYPE_VARIATIONS.put(InputType.TYPE_TEXT_VARIATION_WEB_EMAIL_ADDRESS, "WebEmailAddress");
        INPUT_TYPE_VARIATIONS.put(InputType.TYPE_TEXT_VARIATION_WEB_PASSWORD, "WebPassword");
        INPUT_TYPE_VARIATIONS.put(InputType.TYPE_TEXT_VARIATION_LONG_MESSAGE, "LongMessage");
        INPUT_TYPE_VARIATIONS.put(InputType.TYPE_TEXT_VARIATION_SHORT_MESSAGE, "ShortMessage");
        INPUT_TYPE_VARIATIONS.put(InputType.TYPE_TEXT_FLAG_MULTI_LINE, "MultiLine");
        INPUT_TYPE_VARIATIONS.put(InputType.TYPE_TEXT_FLAG_IME_MULTI_LINE, "ImeMultiLine");
        INPUT_TYPE_VARIATIONS.put(InputType.TYPE_TEXT_VARIATION_FILTER, "Filter");
    }

    private static String getInputTypeString(int inputType) {
        StringBuilder sb = new StringBuilder();
        sb.append(inputType);
        sb.append("(class=").append(inputType & InputType.TYPE_MASK_CLASS).append(')');
        for (int variation : INPUT_TYPE_VARIATIONS.keySet()) {
            if ((variation & inputType) == variation) {
                sb.append('|').append(INPUT_TYPE_VARIATIONS.get(variation));
            }
        }
        return sb.toString();
    }
}
}