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

Commit bf57d2c8 authored by Tadashi G. Takaoka's avatar Tadashi G. Takaoka Committed by Android Git Automerger
Browse files

am bcf2b793: Prepare to get rid of Drawable reference from Key

* commit 'bcf2b793':
  Prepare to get rid of Drawable reference from Key
parents 210f3230 bcf2b793
Loading
Loading
Loading
Loading
+18 −15
Original line number Diff line number Diff line
@@ -72,13 +72,14 @@ public class Key {
    private static final int LABEL_FLAGS_WITH_ICON_RIGHT = 0x2000;
    private static final int LABEL_FLAGS_AUTO_X_SCALE = 0x4000;

    // TODO: These icon references could be int (icon attribute id)
    /** Icon to display instead of a label. Icon takes precedence over a label */
    private final int mIconAttrId;
    // TODO: Remove this variable.
    private Drawable mIcon;
    /** Icon for disabled state */
    private Drawable mDisabledIcon;
    private final int mDisabledIconAttrId;
    /** Preview version of the icon, for the preview popup */
    public final Drawable mPreviewIcon;
    public final int mPreviewIconAttrId;

    /** Width of the key, not including the gap */
    public final int mWidth;
@@ -204,9 +205,10 @@ public class Key {
        mOutputText = outputText;
        mCode = code;
        mAltCode = Keyboard.CODE_UNSPECIFIED;
        mIconAttrId = KeyboardIconsSet.ATTR_UNDEFINED;
        mIcon = icon;
        mDisabledIcon = null;
        mPreviewIcon = null;
        mDisabledIconAttrId = KeyboardIconsSet.ATTR_UNDEFINED;
        mPreviewIconAttrId = KeyboardIconsSet.ATTR_UNDEFINED;
        // Horizontal gap is divided equally to both sides of the key.
        mX = x + mHorizontalGap / 2;
        mY = y;
@@ -282,18 +284,16 @@ public class Key {
                R.styleable.Keyboard_Key_visualInsetsLeft, params.mBaseWidth, 0);
        mVisualInsetsRight = (int) Keyboard.Builder.getDimensionOrFraction(keyAttr,
                R.styleable.Keyboard_Key_visualInsetsRight, params.mBaseWidth, 0);
        final int previewIconAttrId = KeyboardIconsSet.getIconAttrId(style.getInt(keyAttr,
        mPreviewIconAttrId = KeyboardIconsSet.getIconAttrId(style.getInt(keyAttr,
                R.styleable.Keyboard_Key_keyIconPreview, KeyboardIconsSet.ICON_UNDEFINED));
        mPreviewIcon = iconsSet.getIconByAttrId(previewIconAttrId);
        final int iconAttrId = KeyboardIconsSet.getIconAttrId(style.getInt(keyAttr,
        mIconAttrId = KeyboardIconsSet.getIconAttrId(style.getInt(keyAttr,
                R.styleable.Keyboard_Key_keyIcon, KeyboardIconsSet.ICON_UNDEFINED));
        mIcon = iconsSet.getIconByAttrId(iconAttrId);
        final int disabledIconAttrId = KeyboardIconsSet.getIconAttrId(style.getInt(keyAttr,
        mIcon = iconsSet.getIconByAttrId(mIconAttrId);
        mDisabledIconAttrId = KeyboardIconsSet.getIconAttrId(style.getInt(keyAttr,
                R.styleable.Keyboard_Key_keyIconDisabled, KeyboardIconsSet.ICON_UNDEFINED));
        mDisabledIcon = iconsSet.getIconByAttrId(disabledIconAttrId);
        mHintLabel = style.getString(keyAttr, R.styleable.Keyboard_Key_keyHintLabel);

        mLabel = style.getString(keyAttr, R.styleable.Keyboard_Key_keyLabel);
        mHintLabel = style.getString(keyAttr, R.styleable.Keyboard_Key_keyHintLabel);
        mLabelFlags = style.getFlag(keyAttr, R.styleable.Keyboard_Key_keyLabelFlags, 0);
        mOutputText = style.getString(keyAttr, R.styleable.Keyboard_Key_keyOutputText);
        // Choose the first letter of the label as primary code if not
@@ -328,13 +328,15 @@ public class Key {
                key.mCode,
                key.mLabel,
                key.mHintLabel,
                key.mIconAttrId,
                // Key can be distinguishable without the following members.
                // key.mAltCode,
                // key.mOutputText,
                // key.mActionFlags,
                // key.mLabelFlags,
                // key.mIcon,
                // key.mPreviewIcon,
                // key.mDisabledIconAttrId,
                // key.mPreviewIconAttrId,
                // key.mBackgroundType,
                // key.mHorizontalGap,
                // key.mVerticalGap,
@@ -471,8 +473,9 @@ public class Key {
        return (mLabelFlags & LABEL_FLAGS_AUTO_X_SCALE) != 0;
    }

    public Drawable getIcon() {
        return mEnabled ? mIcon : mDisabledIcon;
    // TODO: Get rid of this method.
    public Drawable getIcon(KeyboardIconsSet iconSet) {
        return mEnabled ? mIcon : iconSet.getIconByAttrId(mDisabledIconAttrId);
    }

    // TODO: Get rid of this method.
+5 −3
Original line number Diff line number Diff line
@@ -39,6 +39,7 @@ import android.widget.RelativeLayout;
import android.widget.TextView;

import com.android.inputmethod.compat.FrameLayoutCompatUtils;
import com.android.inputmethod.keyboard.internal.KeyboardIconsSet;
import com.android.inputmethod.latin.LatinImeLogger;
import com.android.inputmethod.latin.R;
import com.android.inputmethod.latin.StaticInnerHandlerWrapper;
@@ -552,7 +553,7 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy {
        }

        // Draw key label.
        final Drawable icon = key.getIcon();
        final Drawable icon = key.getIcon(mKeyboard.mIconsSet);
        float positionX = centerX;
        if (key.mLabel != null) {
            // Switch the character to uppercase if shift is pressed
@@ -898,9 +899,10 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy {
            }
            previewText.setText(mKeyboard.adjustLabelCase(key.mLabel));
        } else {
            final Drawable previewIcon = key.mPreviewIcon;
            final Drawable previewIcon = mKeyboard.mIconsSet.getIconByAttrId(
                    key.mPreviewIconAttrId);
            previewText.setCompoundDrawables(null, null, null,
                   previewIcon != null ? previewIcon : key.getIcon());
                    previewIcon != null ? previewIcon : key.getIcon(mKeyboard.mIconsSet));
            previewText.setText(null);
        }
        previewText.setBackgroundDrawable(params.mPreviewBackground);
+1 −1
Original line number Diff line number Diff line
@@ -31,7 +31,7 @@ public class KeyboardIconsSet {
    private static final String TAG = KeyboardIconsSet.class.getSimpleName();

    public static final int ICON_UNDEFINED = 0;
    private static final int ATTR_UNDEFINED = 0;
    public static final int ATTR_UNDEFINED = 0;

    private final Map<Integer, Drawable> mIcons = new HashMap<Integer, Drawable>();