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

Commit be55086f authored by Tadashi G. Takaoka's avatar Tadashi G. Takaoka
Browse files

Cleanup InputTypeCompatUtils to InputTypeUtils

Bug: 6129704
Change-Id: I45e19e456ef7c6e61fe877ea544fef1b9f896e95
parent 78e33359
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -28,8 +28,8 @@ import android.view.accessibility.AccessibilityManager;
import android.view.inputmethod.EditorInfo;

import com.android.inputmethod.compat.AudioManagerCompatWrapper;
import com.android.inputmethod.compat.InputTypeCompatUtils;
import com.android.inputmethod.compat.SettingsSecureCompatUtils;
import com.android.inputmethod.latin.InputTypeUtils;
import com.android.inputmethod.latin.R;

public class AccessibilityUtils {
@@ -132,7 +132,7 @@ public class AccessibilityUtils {
            return false;

        // Don't speak if the IME is connected to a password field.
        return InputTypeCompatUtils.isPasswordInputType(editorInfo.inputType);
        return InputTypeUtils.isPasswordInputType(editorInfo.inputType);
    }

    /**
+3 −3
Original line number Diff line number Diff line
@@ -21,7 +21,7 @@ import android.text.TextUtils;
import android.view.inputmethod.EditorInfo;

import com.android.inputmethod.compat.EditorInfoCompatUtils;
import com.android.inputmethod.compat.InputTypeCompatUtils;
import com.android.inputmethod.latin.InputTypeUtils;

import java.util.Arrays;
import java.util.Locale;
@@ -140,8 +140,8 @@ public class KeyboardId {

    public boolean passwordInput() {
        final int inputType = mEditorInfo.inputType;
        return InputTypeCompatUtils.isPasswordInputType(inputType)
                || InputTypeCompatUtils.isVisiblePasswordInputType(inputType);
        return InputTypeUtils.isPasswordInputType(inputType)
                || InputTypeUtils.isVisiblePasswordInputType(inputType);
    }

    public boolean isMultiLine() {
+2 −2
Original line number Diff line number Diff line
@@ -27,8 +27,8 @@ import android.util.Xml;
import android.view.inputmethod.EditorInfo;

import com.android.inputmethod.compat.EditorInfoCompatUtils;
import com.android.inputmethod.compat.InputTypeCompatUtils;
import com.android.inputmethod.keyboard.KeyboardSet.Params.ElementParams;
import com.android.inputmethod.latin.InputTypeUtils;
import com.android.inputmethod.latin.LatinIME;
import com.android.inputmethod.latin.LatinImeLogger;
import com.android.inputmethod.latin.LocaleUtils;
@@ -379,7 +379,7 @@ public class KeyboardSet {
            case InputType.TYPE_CLASS_PHONE:
                return KeyboardId.MODE_PHONE;
            case InputType.TYPE_CLASS_TEXT:
                if (InputTypeCompatUtils.isEmailVariation(variation)) {
                if (InputTypeUtils.isEmailVariation(variation)) {
                    return KeyboardId.MODE_EMAIL;
                } else if (variation == InputType.TYPE_TEXT_VARIATION_URI) {
                    return KeyboardId.MODE_URL;
+3 −5
Original line number Diff line number Diff line
@@ -20,8 +20,6 @@ import android.text.InputType;
import android.util.Log;
import android.view.inputmethod.EditorInfo;

import com.android.inputmethod.compat.InputTypeCompatUtils;

/**
 * Class to hold attributes of the input field.
 */
@@ -66,9 +64,9 @@ public class InputAttributes {
                    0 != (inputType & InputType.TYPE_TEXT_FLAG_AUTO_COMPLETE);

            // Make sure that passwords are not displayed in {@link SuggestionsView}.
            if (InputTypeCompatUtils.isPasswordInputType(inputType)
                    || InputTypeCompatUtils.isVisiblePasswordInputType(inputType)
                    || InputTypeCompatUtils.isEmailVariation(variation)
            if (InputTypeUtils.isPasswordInputType(inputType)
                    || InputTypeUtils.isVisiblePasswordInputType(inputType)
                    || InputTypeUtils.isEmailVariation(variation)
                    || InputType.TYPE_TEXT_VARIATION_URI == variation
                    || InputType.TYPE_TEXT_VARIATION_FILTER == variation
                    || flagNoSuggestions
+90 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2011 The Android Open Source Project
 * Copyright (C) 2012 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License. You may obtain a copy of
@@ -14,55 +14,28 @@
 * the License.
 */

package com.android.inputmethod.compat;
package com.android.inputmethod.latin;

import android.text.InputType;

import java.lang.reflect.Field;

public class InputTypeCompatUtils {
    private static final Field FIELD_InputType_TYPE_TEXT_VARIATION_WEB_EMAIL_ADDRESS =
            CompatUtils.getField(InputType.class, "TYPE_TEXT_VARIATION_WEB_EMAIL_ADDRESS");
    private static final Field FIELD_InputType_TYPE_TEXT_VARIATION_WEB_PASSWORD = CompatUtils
            .getField(InputType.class, "TYPE_TEXT_VARIATION_WEB_PASSWORD");
    private static final Field FIELD_InputType_TYPE_NUMBER_VARIATION_PASSWORD = CompatUtils
            .getField(InputType.class, "TYPE_NUMBER_VARIATION_PASSWORD");
    private static final Integer OBJ_InputType_TYPE_TEXT_VARIATION_WEB_EMAIL_ADDRESS =
            (Integer) CompatUtils.getFieldValue(null, null,
                    FIELD_InputType_TYPE_TEXT_VARIATION_WEB_EMAIL_ADDRESS);
    private static final Integer OBJ_InputType_TYPE_TEXT_VARIATION_WEB_PASSWORD =
            (Integer) CompatUtils.getFieldValue(null, null,
                    FIELD_InputType_TYPE_TEXT_VARIATION_WEB_PASSWORD);
    private static final Integer OBJ_InputType_TYPE_NUMBER_VARIATION_PASSWORD =
            (Integer) CompatUtils.getFieldValue(null, null,
                    FIELD_InputType_TYPE_NUMBER_VARIATION_PASSWORD);
    private static final int WEB_TEXT_PASSWORD_INPUT_TYPE;
    private static final int WEB_TEXT_EMAIL_ADDRESS_INPUT_TYPE;
    private static final int NUMBER_PASSWORD_INPUT_TYPE;
public class InputTypeUtils implements InputType {
    private static final int WEB_TEXT_PASSWORD_INPUT_TYPE =
            TYPE_CLASS_TEXT | TYPE_TEXT_VARIATION_WEB_PASSWORD;
    private static final int WEB_TEXT_EMAIL_ADDRESS_INPUT_TYPE =
            TYPE_CLASS_TEXT | TYPE_TEXT_VARIATION_WEB_EMAIL_ADDRESS;
    private static final int NUMBER_PASSWORD_INPUT_TYPE =
            TYPE_CLASS_NUMBER | TYPE_NUMBER_VARIATION_PASSWORD;
    private static final int TEXT_PASSWORD_INPUT_TYPE =
            InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD;
            TYPE_CLASS_TEXT | TYPE_TEXT_VARIATION_PASSWORD;
    private static final int TEXT_VISIBLE_PASSWORD_INPUT_TYPE =
            InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD;
            TYPE_CLASS_TEXT | TYPE_TEXT_VARIATION_VISIBLE_PASSWORD;

    static {
        WEB_TEXT_PASSWORD_INPUT_TYPE =
            OBJ_InputType_TYPE_TEXT_VARIATION_WEB_PASSWORD != null
                    ? InputType.TYPE_CLASS_TEXT | OBJ_InputType_TYPE_TEXT_VARIATION_WEB_PASSWORD
                    : 0;
        WEB_TEXT_EMAIL_ADDRESS_INPUT_TYPE =
            OBJ_InputType_TYPE_TEXT_VARIATION_WEB_EMAIL_ADDRESS != null
                    ? InputType.TYPE_CLASS_TEXT
                            | OBJ_InputType_TYPE_TEXT_VARIATION_WEB_EMAIL_ADDRESS
                    : 0;
        NUMBER_PASSWORD_INPUT_TYPE =
                OBJ_InputType_TYPE_NUMBER_VARIATION_PASSWORD != null
                        ? InputType.TYPE_CLASS_NUMBER | OBJ_InputType_TYPE_NUMBER_VARIATION_PASSWORD
                        : 0;
    private InputTypeUtils() {
        // This utility class is not publicly instantiable.
    }

    private static boolean isWebEditTextInputType(int inputType) {
        return inputType == (InputType.TYPE_CLASS_TEXT
                | InputType.TYPE_TEXT_VARIATION_WEB_EDIT_TEXT);
        return inputType == (TYPE_CLASS_TEXT | TYPE_TEXT_VARIATION_WEB_EDIT_TEXT);
    }

    private static boolean isWebPasswordInputType(int inputType) {
@@ -85,18 +58,17 @@ public class InputTypeCompatUtils {
    }

    private static boolean isWebEmailAddressVariation(int variation) {
        return OBJ_InputType_TYPE_TEXT_VARIATION_WEB_EMAIL_ADDRESS != null
                && variation == OBJ_InputType_TYPE_TEXT_VARIATION_WEB_EMAIL_ADDRESS;
        return variation == TYPE_TEXT_VARIATION_WEB_EMAIL_ADDRESS;
    }

    public static boolean isEmailVariation(int variation) {
        return variation == InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS
        return variation == TYPE_TEXT_VARIATION_EMAIL_ADDRESS
                || isWebEmailAddressVariation(variation);
    }

    public static boolean isWebInputType(int inputType) {
        final int maskedInputType =
                inputType & (InputType.TYPE_MASK_CLASS | InputType.TYPE_MASK_VARIATION);
                inputType & (TYPE_MASK_CLASS | TYPE_MASK_VARIATION);
        return isWebEditTextInputType(maskedInputType) || isWebPasswordInputType(maskedInputType)
                || isWebEmailAddressInputType(maskedInputType);
    }
@@ -104,7 +76,7 @@ public class InputTypeCompatUtils {
    // Please refer to TextView.isPasswordInputType
    public static boolean isPasswordInputType(int inputType) {
        final int maskedInputType =
                inputType & (InputType.TYPE_MASK_CLASS | InputType.TYPE_MASK_VARIATION);
                inputType & (TYPE_MASK_CLASS | TYPE_MASK_VARIATION);
        return isTextPasswordInputType(maskedInputType) || isWebPasswordInputType(maskedInputType)
                || isNumberPasswordInputType(maskedInputType);
    }
@@ -112,7 +84,7 @@ public class InputTypeCompatUtils {
    // Please refer to TextView.isVisiblePasswordInputType
    public static boolean isVisiblePasswordInputType(int inputType) {
        final int maskedInputType =
                inputType & (InputType.TYPE_MASK_CLASS | InputType.TYPE_MASK_VARIATION);
                inputType & (TYPE_MASK_CLASS | TYPE_MASK_VARIATION);
        return maskedInputType == TEXT_VISIBLE_PASSWORD_INPUT_TYPE;
    }
}
Loading