am bcf2b793: Prepare to get rid of Drawable reference from Key
* commit 'bcf2b79365d7b655e973809c775772479dd8dff5': Prepare to get rid of Drawable reference from Keymain
commit
bf57d2c802
|
@ -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.
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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>();
|
||||
|
||||
|
|
Loading…
Reference in New Issue