aboutsummaryrefslogtreecommitdiffstats
path: root/java/src/com/android/inputmethod
diff options
context:
space:
mode:
Diffstat (limited to 'java/src/com/android/inputmethod')
-rw-r--r--java/src/com/android/inputmethod/keyboard/Key.java6
-rw-r--r--java/src/com/android/inputmethod/keyboard/KeyboardView.java13
-rw-r--r--java/src/com/android/inputmethod/keyboard/internal/KeyDrawParams.java28
-rw-r--r--java/src/com/android/inputmethod/keyboard/internal/KeyVisualAttributes.java8
4 files changed, 14 insertions, 41 deletions
diff --git a/java/src/com/android/inputmethod/keyboard/Key.java b/java/src/com/android/inputmethod/keyboard/Key.java
index 18b81161c..aaa55d79c 100644
--- a/java/src/com/android/inputmethod/keyboard/Key.java
+++ b/java/src/com/android/inputmethod/keyboard/Key.java
@@ -59,7 +59,7 @@ public class Key implements Comparable<Key> {
/** Flags of the label */
private final int mLabelFlags;
private static final int LABEL_FLAGS_ALIGN_ICON_TO_BOTTOM = 0x04;
- private static final int LABEL_FLAGS_ALIGN_LABEL_OFF_CENTER = 0x08;
+ private static final int LABEL_FLAGS_ALIGN_LEFT_OF_CENTER = 0x08;
// Font typeface specification.
private static final int LABEL_FLAGS_FONT_MASK = 0x30;
private static final int LABEL_FLAGS_FONT_NORMAL = 0x10;
@@ -648,8 +648,8 @@ public class Key implements Comparable<Key> {
return (mLabelFlags & LABEL_FLAGS_ALIGN_ICON_TO_BOTTOM) != 0;
}
- public final boolean isAlignLabelOffCenter() {
- return (mLabelFlags & LABEL_FLAGS_ALIGN_LABEL_OFF_CENTER) != 0;
+ public final boolean isAlignLeftOfCenter() {
+ return (mLabelFlags & LABEL_FLAGS_ALIGN_LEFT_OF_CENTER) != 0;
}
public final boolean hasPopupHint() {
diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardView.java b/java/src/com/android/inputmethod/keyboard/KeyboardView.java
index 72b254756..4a791f325 100644
--- a/java/src/com/android/inputmethod/keyboard/KeyboardView.java
+++ b/java/src/com/android/inputmethod/keyboard/KeyboardView.java
@@ -369,9 +369,9 @@ public class KeyboardView extends View {
final float baseline = centerY + labelCharHeight / 2.0f;
// Horizontal label text alignment
- if (key.isAlignLabelOffCenter()) {
- // The label is placed off center of the key. Used mainly on "phone number" layout.
- positionX = centerX + params.mLabelOffCenterRatio * labelCharWidth;
+ if (key.isAlignLeftOfCenter()) {
+ // TODO: Parameterise this?
+ positionX = centerX - labelCharWidth * 7.0f / 4.0f;
paint.setTextAlign(Align.LEFT);
} else {
positionX = centerX;
@@ -418,12 +418,15 @@ public class KeyboardView extends View {
blendAlpha(paint, params.mAnimAlpha);
final float labelCharHeight = TypefaceUtils.getReferenceCharHeight(paint);
final float labelCharWidth = TypefaceUtils.getReferenceCharWidth(paint);
- final float adjustmentY = params.mHintLabelVerticalAdjustment * labelCharHeight;
+ final KeyVisualAttributes visualAttr = key.getVisualAttributes();
+ final float adjustmentY = (visualAttr == null) ? 0.0f
+ : visualAttr.mHintLabelVerticalAdjustment * labelCharHeight;
final float hintX, hintY;
if (key.hasHintLabel()) {
// The hint label is placed just right of the key label. Used mainly on
// "phone number" layout.
- hintX = positionX + params.mHintLabelOffCenterRatio * labelCharWidth;
+ // TODO: Generalize the following calculations.
+ hintX = positionX + labelCharWidth * 2.0f;
hintY = centerY + labelCharHeight / 2.0f;
paint.setTextAlign(Align.LEFT);
} else if (key.hasShiftedLetterHint()) {
diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyDrawParams.java b/java/src/com/android/inputmethod/keyboard/internal/KeyDrawParams.java
index 6dbee55ae..07ac06bab 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/KeyDrawParams.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/KeyDrawParams.java
@@ -42,10 +42,6 @@ public final class KeyDrawParams {
public int mShiftedLetterHintActivatedColor;
public int mPreviewTextColor;
- public float mHintLabelVerticalAdjustment;
- public float mLabelOffCenterRatio;
- public float mHintLabelOffCenterRatio;
-
public int mAnimAlpha;
public KeyDrawParams() {}
@@ -72,10 +68,6 @@ public final class KeyDrawParams {
mShiftedLetterHintActivatedColor = copyFrom.mShiftedLetterHintActivatedColor;
mPreviewTextColor = copyFrom.mPreviewTextColor;
- mHintLabelVerticalAdjustment = copyFrom.mHintLabelVerticalAdjustment;
- mLabelOffCenterRatio = copyFrom.mLabelOffCenterRatio;
- mHintLabelOffCenterRatio = copyFrom.mHintLabelOffCenterRatio;
-
mAnimAlpha = copyFrom.mAnimAlpha;
}
@@ -111,13 +103,6 @@ public final class KeyDrawParams {
mShiftedLetterHintActivatedColor = selectColor(
attr.mShiftedLetterHintActivatedColor, mShiftedLetterHintActivatedColor);
mPreviewTextColor = selectColor(attr.mPreviewTextColor, mPreviewTextColor);
-
- mHintLabelVerticalAdjustment = selectFloatIfNonZero(
- attr.mHintLabelVerticalAdjustment, mHintLabelVerticalAdjustment);
- mLabelOffCenterRatio = selectFloatIfNonZero(
- attr.mLabelOffCenterRatio, mLabelOffCenterRatio);
- mHintLabelOffCenterRatio = selectFloatIfNonZero(
- attr.mHintLabelOffCenterRatio, mHintLabelOffCenterRatio);
}
public KeyDrawParams mayCloneAndUpdateParams(final int keyHeight,
@@ -130,7 +115,7 @@ public final class KeyDrawParams {
return newParams;
}
- private static int selectTextSizeFromDimensionOrRatio(final int keyHeight,
+ private static final int selectTextSizeFromDimensionOrRatio(final int keyHeight,
final int dimens, final float ratio, final int defaultDimens) {
if (ResourceUtils.isValidDimensionPixelSize(dimens)) {
return dimens;
@@ -141,7 +126,7 @@ public final class KeyDrawParams {
return defaultDimens;
}
- private static int selectTextSize(final int keyHeight, final float ratio,
+ private static final int selectTextSize(final int keyHeight, final float ratio,
final int defaultSize) {
if (ResourceUtils.isValidFraction(ratio)) {
return (int)(keyHeight * ratio);
@@ -149,17 +134,10 @@ public final class KeyDrawParams {
return defaultSize;
}
- private static int selectColor(final int attrColor, final int defaultColor) {
+ private static final int selectColor(final int attrColor, final int defaultColor) {
if (attrColor != 0) {
return attrColor;
}
return defaultColor;
}
-
- private static float selectFloatIfNonZero(final float attrFloat, final float defaultFloat) {
- if (attrFloat != 0) {
- return attrFloat;
- }
- return defaultFloat;
- }
}
diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyVisualAttributes.java b/java/src/com/android/inputmethod/keyboard/internal/KeyVisualAttributes.java
index 69cf2e389..133462ac7 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/KeyVisualAttributes.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/KeyVisualAttributes.java
@@ -48,8 +48,6 @@ public final class KeyVisualAttributes {
public final int mPreviewTextColor;
public final float mHintLabelVerticalAdjustment;
- public final float mLabelOffCenterRatio;
- public final float mHintLabelOffCenterRatio;
private static final int[] VISUAL_ATTRIBUTE_IDS = {
R.styleable.Keyboard_Key_keyTypeface,
@@ -71,8 +69,6 @@ public final class KeyVisualAttributes {
R.styleable.Keyboard_Key_keyShiftedLetterHintActivatedColor,
R.styleable.Keyboard_Key_keyPreviewTextColor,
R.styleable.Keyboard_Key_keyHintLabelVerticalAdjustment,
- R.styleable.Keyboard_Key_keyLabelOffCenterRatio,
- R.styleable.Keyboard_Key_keyHintLabelOffCenterRatio
};
private static final SparseIntArray sVisualAttributeIds = new SparseIntArray();
private static final int ATTR_DEFINED = 1;
@@ -139,9 +135,5 @@ public final class KeyVisualAttributes {
mHintLabelVerticalAdjustment = ResourceUtils.getFraction(keyAttr,
R.styleable.Keyboard_Key_keyHintLabelVerticalAdjustment, 0.0f);
- mLabelOffCenterRatio = ResourceUtils.getFraction(keyAttr,
- R.styleable.Keyboard_Key_keyLabelOffCenterRatio, 0.0f);
- mHintLabelOffCenterRatio = ResourceUtils.getFraction(keyAttr,
- R.styleable.Keyboard_Key_keyHintLabelOffCenterRatio, 0.0f);
}
}