Cleanup LatinKeyboard and LatinKeyboard.LatinKey classes
Change-Id: I4c5a37315dea1c7545b77a8a6c93b930927a5a82main
parent
4571fff019
commit
2348ca0e76
|
@ -150,9 +150,9 @@ public class BaseKeyboard {
|
||||||
/** The keyboard mode for this row */
|
/** The keyboard mode for this row */
|
||||||
public int mode;
|
public int mode;
|
||||||
|
|
||||||
private BaseKeyboard parent;
|
private final BaseKeyboard parent;
|
||||||
|
|
||||||
public Row(BaseKeyboard parent) {
|
private Row(BaseKeyboard parent) {
|
||||||
this.parent = parent;
|
this.parent = parent;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -232,7 +232,7 @@ public class BaseKeyboard {
|
||||||
/** Whether this is a modifier key, such as Shift or Alt */
|
/** Whether this is a modifier key, such as Shift or Alt */
|
||||||
public boolean modifier;
|
public boolean modifier;
|
||||||
/** The BaseKeyboard that this key belongs to */
|
/** The BaseKeyboard that this key belongs to */
|
||||||
private BaseKeyboard keyboard;
|
protected final BaseKeyboard keyboard;
|
||||||
/**
|
/**
|
||||||
* If this key pops up a mini keyboard, this is the resource id for the XML layout for that
|
* If this key pops up a mini keyboard, this is the resource id for the XML layout for that
|
||||||
* keyboard.
|
* keyboard.
|
||||||
|
@ -361,7 +361,7 @@ public class BaseKeyboard {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int[] parseCSV(String value) {
|
private int[] parseCSV(String value) {
|
||||||
int count = 0;
|
int count = 0;
|
||||||
int lastIndex = 0;
|
int lastIndex = 0;
|
||||||
if (value.length() > 0) {
|
if (value.length() > 0) {
|
||||||
|
@ -413,8 +413,11 @@ public class BaseKeyboard {
|
||||||
* @return the square of the distance of the point from the center of the key
|
* @return the square of the distance of the point from the center of the key
|
||||||
*/
|
*/
|
||||||
public int squaredDistanceFrom(int x, int y) {
|
public int squaredDistanceFrom(int x, int y) {
|
||||||
|
// We should count vertical gap between rows to calculate the center of this Key.
|
||||||
|
// TODO: We should re-think how we define the center of the key.
|
||||||
|
final int verticalGap = keyboard.getVerticalGap();
|
||||||
int xDist = this.x + width / 2 - x;
|
int xDist = this.x + width / 2 - x;
|
||||||
int yDist = this.y + height / 2 - y;
|
int yDist = this.y + (height + verticalGap) / 2 - y;
|
||||||
return xDist * xDist + yDist * yDist;
|
return xDist * xDist + yDist * yDist;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -92,10 +92,6 @@ public class LatinKeyboard extends BaseKeyboard {
|
||||||
// TODO: generalize for any keyboardId
|
// TODO: generalize for any keyboardId
|
||||||
private boolean mIsBlackSym;
|
private boolean mIsBlackSym;
|
||||||
|
|
||||||
// TODO: remove this attribute when either Keyboard.mDefaultVerticalGap or Key.parent becomes
|
|
||||||
// non-private.
|
|
||||||
private final int mVerticalGap;
|
|
||||||
|
|
||||||
private static final int SHIFT_OFF = 0;
|
private static final int SHIFT_OFF = 0;
|
||||||
private static final int SHIFT_ON = 1;
|
private static final int SHIFT_ON = 1;
|
||||||
private static final int SHIFT_LOCKED = 2;
|
private static final int SHIFT_LOCKED = 2;
|
||||||
|
@ -143,8 +139,7 @@ public class LatinKeyboard extends BaseKeyboard {
|
||||||
mIsAlphaKeyboard = xmlLayoutResId == R.xml.kbd_qwerty
|
mIsAlphaKeyboard = xmlLayoutResId == R.xml.kbd_qwerty
|
||||||
|| xmlLayoutResId == R.xml.kbd_qwerty_black;
|
|| xmlLayoutResId == R.xml.kbd_qwerty_black;
|
||||||
mSpaceKeyIndex = indexOf(LatinIME.KEYCODE_SPACE);
|
mSpaceKeyIndex = indexOf(LatinIME.KEYCODE_SPACE);
|
||||||
// TODO remove this initialization after cleanup
|
|
||||||
mVerticalGap = super.getVerticalGap();
|
|
||||||
if (mEnterKey != null) {
|
if (mEnterKey != null) {
|
||||||
mDefaultEnterIcon = mEnterKey.icon;
|
mDefaultEnterIcon = mEnterKey.icon;
|
||||||
mDefaultEnterPreview = mEnterKey.iconPreview;
|
mDefaultEnterPreview = mEnterKey.iconPreview;
|
||||||
|
@ -280,7 +275,7 @@ public class LatinKeyboard extends BaseKeyboard {
|
||||||
return mIsAlphaKeyboard && isShifted() && !isShiftLocked();
|
return mIsAlphaKeyboard && isShifted() && !isShiftLocked();
|
||||||
}
|
}
|
||||||
|
|
||||||
/* package */ boolean isAlphaKeyboard() {
|
public boolean isAlphaKeyboard() {
|
||||||
return mIsAlphaKeyboard;
|
return mIsAlphaKeyboard;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -521,12 +516,12 @@ public class LatinKeyboard extends BaseKeyboard {
|
||||||
return mCurrentlyInSpace;
|
return mCurrentlyInSpace;
|
||||||
}
|
}
|
||||||
|
|
||||||
void setPreferredLetters(int[] frequencies) {
|
public void setPreferredLetters(int[] frequencies) {
|
||||||
mPrefLetterFrequencies = frequencies;
|
mPrefLetterFrequencies = frequencies;
|
||||||
mPrefLetter = 0;
|
mPrefLetter = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void keyReleased() {
|
public void keyReleased() {
|
||||||
mCurrentlyInSpace = false;
|
mCurrentlyInSpace = false;
|
||||||
mSpaceDragLastDiff = 0;
|
mSpaceDragLastDiff = 0;
|
||||||
mPrefLetter = 0;
|
mPrefLetter = 0;
|
||||||
|
@ -542,10 +537,9 @@ public class LatinKeyboard extends BaseKeyboard {
|
||||||
* Does the magic of locking the touch gesture into the spacebar when
|
* Does the magic of locking the touch gesture into the spacebar when
|
||||||
* switching input languages.
|
* switching input languages.
|
||||||
*/
|
*/
|
||||||
boolean isInside(LatinKey key, int x, int y) {
|
public boolean isInside(LatinKey key, int x, int y) {
|
||||||
final int code = key.codes[0];
|
final int code = key.codes[0];
|
||||||
if (code == KEYCODE_SHIFT ||
|
if (code == KEYCODE_SHIFT || code == KEYCODE_DELETE) {
|
||||||
code == KEYCODE_DELETE) {
|
|
||||||
y -= key.height / 10;
|
y -= key.height / 10;
|
||||||
if (code == KEYCODE_SHIFT) x += key.width / 6;
|
if (code == KEYCODE_SHIFT) x += key.width / 6;
|
||||||
if (code == KEYCODE_DELETE) x -= key.width / 6;
|
if (code == KEYCODE_DELETE) x -= key.width / 6;
|
||||||
|
@ -689,8 +683,7 @@ public class LatinKeyboard extends BaseKeyboard {
|
||||||
return textSize;
|
return textSize;
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO LatinKey could be static class
|
public static class LatinKey extends BaseKeyboard.Key {
|
||||||
class LatinKey extends BaseKeyboard.Key {
|
|
||||||
|
|
||||||
// functional normal state (with properties)
|
// functional normal state (with properties)
|
||||||
private final int[] KEY_STATE_FUNCTIONAL_NORMAL = {
|
private final int[] KEY_STATE_FUNCTIONAL_NORMAL = {
|
||||||
|
@ -738,13 +731,12 @@ public class LatinKeyboard extends BaseKeyboard {
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public boolean isInside(int x, int y) {
|
public boolean isInside(int x, int y) {
|
||||||
// TODO This should be done by parent.isInside(this, x, y)
|
boolean result = (keyboard instanceof LatinKeyboard)
|
||||||
// if Key.parent were protected.
|
&& ((LatinKeyboard)keyboard).isInside(this, x, y);
|
||||||
boolean result = LatinKeyboard.this.isInside(this, x, y);
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
boolean isInsideSuper(int x, int y) {
|
private boolean isInsideSuper(int x, int y) {
|
||||||
return super.isInside(x, y);
|
return super.isInside(x, y);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -759,15 +751,6 @@ public class LatinKeyboard extends BaseKeyboard {
|
||||||
}
|
}
|
||||||
return super.getCurrentDrawableState();
|
return super.getCurrentDrawableState();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public int squaredDistanceFrom(int x, int y) {
|
|
||||||
// We should count vertical gap between rows to calculate the center of this Key.
|
|
||||||
final int verticalGap = LatinKeyboard.this.mVerticalGap;
|
|
||||||
final int xDist = this.x + width / 2 - x;
|
|
||||||
final int yDist = this.y + (height + verticalGap) / 2 - y;
|
|
||||||
return xDist * xDist + yDist * yDist;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -775,7 +758,7 @@ public class LatinKeyboard extends BaseKeyboard {
|
||||||
* languages by swiping the spacebar. It draws the current, previous and
|
* languages by swiping the spacebar. It draws the current, previous and
|
||||||
* next languages and moves them by the delta of touch movement on the spacebar.
|
* next languages and moves them by the delta of touch movement on the spacebar.
|
||||||
*/
|
*/
|
||||||
class SlidingLocaleDrawable extends Drawable {
|
private class SlidingLocaleDrawable extends Drawable {
|
||||||
|
|
||||||
private final int mWidth;
|
private final int mWidth;
|
||||||
private final int mHeight;
|
private final int mHeight;
|
||||||
|
|
Loading…
Reference in New Issue