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

Commit 6c638d1b authored by Jean Chalard's avatar Jean Chalard Committed by Android (Google) Code Review
Browse files

Merge "Revert "[ML1] Introduce RichInputMethodSubtype""

parents eb99b461 a63d0a8e
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -121,7 +121,7 @@ public final class MainKeyboardAccessibilityDelegate
     */
     */
    private void announceKeyboardLanguage(final Keyboard keyboard) {
    private void announceKeyboardLanguage(final Keyboard keyboard) {
        final String languageText = SubtypeLocaleUtils.getSubtypeDisplayNameInSystemLocale(
        final String languageText = SubtypeLocaleUtils.getSubtypeDisplayNameInSystemLocale(
                keyboard.mId.mSubtype.getRawSubtype());
                keyboard.mId.mSubtype);
        sendWindowStateChanged(languageText);
        sendWindowStateChanged(languageText);
    }
    }


+3 −6
Original line number Original line Diff line number Diff line
@@ -20,7 +20,7 @@ import android.os.Build;
import android.view.inputmethod.InputMethodSubtype;
import android.view.inputmethod.InputMethodSubtype;


import com.android.inputmethod.annotations.UsedForTesting;
import com.android.inputmethod.annotations.UsedForTesting;
import com.android.inputmethod.latin.RichInputMethodSubtype;
import com.android.inputmethod.latin.Constants;


import java.lang.reflect.Constructor;
import java.lang.reflect.Constructor;
import java.lang.reflect.Method;
import java.lang.reflect.Method;
@@ -64,12 +64,9 @@ public final class InputMethodSubtypeCompatUtils {
                overridesImplicitlyEnabledSubtype, id);
                overridesImplicitlyEnabledSubtype, id);
    }
    }


    public static boolean isAsciiCapable(final RichInputMethodSubtype subtype) {
        return isAsciiCapable(subtype.getRawSubtype());
    }

    public static boolean isAsciiCapable(final InputMethodSubtype subtype) {
    public static boolean isAsciiCapable(final InputMethodSubtype subtype) {
        return InputMethodSubtypeCompatUtils.isAsciiCapableWithAPI(subtype);
        return isAsciiCapableWithAPI(subtype)
                || subtype.containsExtraValueKey(Constants.Subtype.ExtraValue.ASCII_CAPABLE);
    }
    }


    @UsedForTesting
    @UsedForTesting
+2 −2
Original line number Original line Diff line number Diff line
@@ -21,9 +21,9 @@ import static com.android.inputmethod.latin.Constants.Subtype.ExtraValue.KEYBOAR
import android.text.InputType;
import android.text.InputType;
import android.text.TextUtils;
import android.text.TextUtils;
import android.view.inputmethod.EditorInfo;
import android.view.inputmethod.EditorInfo;
import android.view.inputmethod.InputMethodSubtype;


import com.android.inputmethod.compat.EditorInfoCompatUtils;
import com.android.inputmethod.compat.EditorInfoCompatUtils;
import com.android.inputmethod.latin.RichInputMethodSubtype;
import com.android.inputmethod.latin.utils.InputTypeUtils;
import com.android.inputmethod.latin.utils.InputTypeUtils;
import com.android.inputmethod.latin.utils.SubtypeLocaleUtils;
import com.android.inputmethod.latin.utils.SubtypeLocaleUtils;


@@ -62,7 +62,7 @@ public final class KeyboardId {
    public static final int ELEMENT_EMOJI_CATEGORY5 = 15;
    public static final int ELEMENT_EMOJI_CATEGORY5 = 15;
    public static final int ELEMENT_EMOJI_CATEGORY6 = 16;
    public static final int ELEMENT_EMOJI_CATEGORY6 = 16;


    public final RichInputMethodSubtype mSubtype;
    public final InputMethodSubtype mSubtype;
    public final Locale mLocale;
    public final Locale mLocale;
    public final int mWidth;
    public final int mWidth;
    public final int mHeight;
    public final int mHeight;
+4 −4
Original line number Original line Diff line number Diff line
@@ -28,6 +28,7 @@ import android.util.Log;
import android.util.SparseArray;
import android.util.SparseArray;
import android.util.Xml;
import android.util.Xml;
import android.view.inputmethod.EditorInfo;
import android.view.inputmethod.EditorInfo;
import android.view.inputmethod.InputMethodSubtype;


import com.android.inputmethod.compat.EditorInfoCompatUtils;
import com.android.inputmethod.compat.EditorInfoCompatUtils;
import com.android.inputmethod.compat.InputMethodSubtypeCompatUtils;
import com.android.inputmethod.compat.InputMethodSubtypeCompatUtils;
@@ -36,7 +37,6 @@ import com.android.inputmethod.keyboard.internal.KeyboardParams;
import com.android.inputmethod.keyboard.internal.KeysCache;
import com.android.inputmethod.keyboard.internal.KeysCache;
import com.android.inputmethod.latin.InputAttributes;
import com.android.inputmethod.latin.InputAttributes;
import com.android.inputmethod.latin.R;
import com.android.inputmethod.latin.R;
import com.android.inputmethod.latin.RichInputMethodSubtype;
import com.android.inputmethod.latin.SubtypeSwitcher;
import com.android.inputmethod.latin.SubtypeSwitcher;
import com.android.inputmethod.latin.define.DebugFlags;
import com.android.inputmethod.latin.define.DebugFlags;
import com.android.inputmethod.latin.utils.InputTypeUtils;
import com.android.inputmethod.latin.utils.InputTypeUtils;
@@ -109,7 +109,7 @@ public final class KeyboardLayoutSet {
        boolean mVoiceInputKeyEnabled;
        boolean mVoiceInputKeyEnabled;
        boolean mNoSettingsKey;
        boolean mNoSettingsKey;
        boolean mLanguageSwitchKeyEnabled;
        boolean mLanguageSwitchKeyEnabled;
        RichInputMethodSubtype mSubtype;
        InputMethodSubtype mSubtype;
        boolean mIsSpellChecker;
        boolean mIsSpellChecker;
        int mKeyboardWidth;
        int mKeyboardWidth;
        int mKeyboardHeight;
        int mKeyboardHeight;
@@ -245,7 +245,7 @@ public final class KeyboardLayoutSet {
            return this;
            return this;
        }
        }


        public Builder setSubtype(final RichInputMethodSubtype subtype) {
        public Builder setSubtype(final InputMethodSubtype subtype) {
            final boolean asciiCapable = InputMethodSubtypeCompatUtils.isAsciiCapable(subtype);
            final boolean asciiCapable = InputMethodSubtypeCompatUtils.isAsciiCapable(subtype);
            // TODO: Consolidate with {@link InputAttributes}.
            // TODO: Consolidate with {@link InputAttributes}.
            @SuppressWarnings("deprecation")
            @SuppressWarnings("deprecation")
@@ -254,7 +254,7 @@ public final class KeyboardLayoutSet {
            final boolean forceAscii = EditorInfoCompatUtils.hasFlagForceAscii(
            final boolean forceAscii = EditorInfoCompatUtils.hasFlagForceAscii(
                    mParams.mEditorInfo.imeOptions)
                    mParams.mEditorInfo.imeOptions)
                    || deprecatedForceAscii;
                    || deprecatedForceAscii;
            final RichInputMethodSubtype keyboardSubtype = (forceAscii && !asciiCapable)
            final InputMethodSubtype keyboardSubtype = (forceAscii && !asciiCapable)
                    ? SubtypeSwitcher.getInstance().getNoLanguageSubtype()
                    ? SubtypeSwitcher.getInstance().getNoLanguageSubtype()
                    : subtype;
                    : subtype;
            mParams.mSubtype = keyboardSubtype;
            mParams.mSubtype = keyboardSubtype;
+6 −5
Original line number Original line Diff line number Diff line
@@ -34,6 +34,7 @@ import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.MotionEvent;
import android.view.View;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewGroup;
import android.view.inputmethod.InputMethodSubtype;


import com.android.inputmethod.accessibility.AccessibilityUtils;
import com.android.inputmethod.accessibility.AccessibilityUtils;
import com.android.inputmethod.accessibility.MainKeyboardAccessibilityDelegate;
import com.android.inputmethod.accessibility.MainKeyboardAccessibilityDelegate;
@@ -53,10 +54,10 @@ import com.android.inputmethod.keyboard.internal.SlidingKeyInputDrawingPreview;
import com.android.inputmethod.keyboard.internal.TimerHandler;
import com.android.inputmethod.keyboard.internal.TimerHandler;
import com.android.inputmethod.latin.Constants;
import com.android.inputmethod.latin.Constants;
import com.android.inputmethod.latin.R;
import com.android.inputmethod.latin.R;
import com.android.inputmethod.latin.RichInputMethodSubtype;
import com.android.inputmethod.latin.SuggestedWords;
import com.android.inputmethod.latin.SuggestedWords;
import com.android.inputmethod.latin.settings.DebugSettings;
import com.android.inputmethod.latin.settings.DebugSettings;
import com.android.inputmethod.latin.utils.CoordinateUtils;
import com.android.inputmethod.latin.utils.CoordinateUtils;
import com.android.inputmethod.latin.utils.SpacebarLanguageUtils;
import com.android.inputmethod.latin.utils.TypefaceUtils;
import com.android.inputmethod.latin.utils.TypefaceUtils;


import java.util.WeakHashMap;
import java.util.WeakHashMap;
@@ -848,16 +849,16 @@ public final class MainKeyboardView extends KeyboardView implements PointerTrack


    // Layout language name on spacebar.
    // Layout language name on spacebar.
    private String layoutLanguageOnSpacebar(final Paint paint,
    private String layoutLanguageOnSpacebar(final Paint paint,
            final RichInputMethodSubtype subtype, final int width) {
            final InputMethodSubtype subtype, final int width) {
        // Choose appropriate language name to fit into the width.
        // Choose appropriate language name to fit into the width.
        if (mLanguageOnSpacebarFormatType == LanguageOnSpacebarHelper.FORMAT_TYPE_FULL_LOCALE) {
        if (mLanguageOnSpacebarFormatType == LanguageOnSpacebarHelper.FORMAT_TYPE_FULL_LOCALE) {
            final String fullText = subtype.getFullDisplayName();
            final String fullText = SpacebarLanguageUtils.getFullDisplayName(subtype);
            if (fitsTextIntoWidth(width, fullText, paint)) {
            if (fitsTextIntoWidth(width, fullText, paint)) {
                return fullText;
                return fullText;
            }
            }
        }
        }


        final String middleText = subtype.getMiddleDisplayName();
        final String middleText = SpacebarLanguageUtils.getMiddleDisplayName(subtype);
        if (fitsTextIntoWidth(width, middleText, paint)) {
        if (fitsTextIntoWidth(width, middleText, paint)) {
            return middleText;
            return middleText;
        }
        }
@@ -871,7 +872,7 @@ public final class MainKeyboardView extends KeyboardView implements PointerTrack
        paint.setTextAlign(Align.CENTER);
        paint.setTextAlign(Align.CENTER);
        paint.setTypeface(Typeface.DEFAULT);
        paint.setTypeface(Typeface.DEFAULT);
        paint.setTextSize(mLanguageOnSpacebarTextSize);
        paint.setTextSize(mLanguageOnSpacebarTextSize);
        final RichInputMethodSubtype subtype = getKeyboard().mId.mSubtype;
        final InputMethodSubtype subtype = getKeyboard().mId.mSubtype;
        final String language = layoutLanguageOnSpacebar(paint, subtype, width);
        final String language = layoutLanguageOnSpacebar(paint, subtype, width);
        // Draw language text with shadow
        // Draw language text with shadow
        final float descent = paint.descent();
        final float descent = paint.descent();
Loading