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

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

Assign Key.mCode from the label only when outputText is not specified

Bug: 5742827
Change-Id: I72b55ce246b14a2d8f4fd16211b71dc716db30b2
parent 646a06ce
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ import android.graphics.Rect;
import android.graphics.Typeface;
import android.graphics.drawable.Drawable;
import android.text.TextUtils;
import android.util.Log;
import android.util.Xml;

import com.android.inputmethod.keyboard.internal.KeyStyles;
@@ -42,6 +43,8 @@ import java.util.Map;
 * Class for describing the position and characteristics of a single key in the keyboard.
 */
public class Key {
    private static final String TAG = Key.class.getSimpleName();

    /**
     * The key code (unicode or custom code) that this key generates.
     */
@@ -284,7 +287,11 @@ public class Key {
        // specified.
        final int code = style.getInt(keyAttr, R.styleable.Keyboard_Key_code,
                Keyboard.CODE_UNSPECIFIED);
        if (code == Keyboard.CODE_UNSPECIFIED && !TextUtils.isEmpty(mLabel)) {
        if (code == Keyboard.CODE_UNSPECIFIED && mOutputText == null
                && !TextUtils.isEmpty(mLabel)) {
            if (mLabel.length() != 1) {
                Log.w(TAG, "Label is not a single letter: label=" + mLabel);
            }
            final int firstChar = mLabel.charAt(0);
            mCode = getRtlParenthesisCode(firstChar, params.mIsRtlKeyboard);
        } else if (code != Keyboard.CODE_UNSPECIFIED) {