aboutsummaryrefslogtreecommitdiffstats
path: root/java/src/com/android/inputmethod/latin/LatinKeyboardBaseView.java
diff options
context:
space:
mode:
authorTadashi G. Takaoka <takaoka@google.com>2010-09-01 23:18:39 +0900
committerTadashi G. Takaoka <takaoka@google.com>2010-09-02 01:53:26 +0900
commit2085d43daf44752deae1b6b00a14cb0f517d69cb (patch)
treed24337e187be77f21c431aee76c4f05aa6f454a3 /java/src/com/android/inputmethod/latin/LatinKeyboardBaseView.java
parent681b102a492b7d5301c1ca87985b4c391eb5eb14 (diff)
downloadlatinime-2085d43daf44752deae1b6b00a14cb0f517d69cb.tar.gz
latinime-2085d43daf44752deae1b6b00a14cb0f517d69cb.tar.xz
latinime-2085d43daf44752deae1b6b00a14cb0f517d69cb.zip
Make abstract KeyDetector class
The KeyDetector abstracts key detection algorithm. The ProximityKeyDetector is one of its concrete implementations. Another one that might be called XAxisKeyDetector will follow to realize the pop-up mini-keyboard behavior described in bug#2959169. Bug: 2959169 Change-Id: Idd3fc53282e6b721ec7a4ce500af8aba21ce07a3
Diffstat (limited to 'java/src/com/android/inputmethod/latin/LatinKeyboardBaseView.java')
-rw-r--r--java/src/com/android/inputmethod/latin/LatinKeyboardBaseView.java23
1 files changed, 9 insertions, 14 deletions
diff --git a/java/src/com/android/inputmethod/latin/LatinKeyboardBaseView.java b/java/src/com/android/inputmethod/latin/LatinKeyboardBaseView.java
index d1a5cd8e4..9ebab256d 100644
--- a/java/src/com/android/inputmethod/latin/LatinKeyboardBaseView.java
+++ b/java/src/com/android/inputmethod/latin/LatinKeyboardBaseView.java
@@ -45,7 +45,6 @@ import android.widget.TextView;
import java.util.ArrayList;
import java.util.HashMap;
-import java.util.List;
import java.util.Map;
/**
@@ -202,7 +201,7 @@ public class LatinKeyboardBaseView extends View implements View.OnClickListener,
private final ArrayList<PointerTracker> mPointerTrackers = new ArrayList<PointerTracker>();
private final float mDebounceHysteresis;
- private final ProximityKeyDetector mProximityKeyDetector = new ProximityKeyDetector();
+ protected KeyDetector mKeyDetector = new ProximityKeyDetector();
// Swipe gesture detector
private final GestureDetector mGestureDetector;
@@ -473,8 +472,7 @@ public class LatinKeyboardBaseView extends View implements View.OnClickListener,
public void setOnKeyboardActionListener(OnKeyboardActionListener listener) {
mKeyboardActionListener = listener;
for (PointerTracker tracker : mPointerTrackers) {
- if (tracker != null)
- tracker.setOnKeyboardActionListener(listener);
+ tracker.setOnKeyboardActionListener(listener);
}
}
@@ -501,13 +499,10 @@ public class LatinKeyboardBaseView extends View implements View.OnClickListener,
mHandler.cancelKeyTimers();
mHandler.cancelPopupPreview();
mKeyboard = keyboard;
- LatinImeLogger.onSetKeyboard(mKeyboard);
- List<Key> keys = mKeyboard.getKeys();
- mKeys = keys.toArray(new Key[keys.size()]);
- mProximityKeyDetector.setKeyboard(keyboard, mKeys);
+ LatinImeLogger.onSetKeyboard(keyboard);
+ mKeys = mKeyDetector.setKeyboard(keyboard);
for (PointerTracker tracker : mPointerTrackers) {
- if (tracker != null)
- tracker.setKeyboard(mKeys, mDebounceHysteresis);
+ tracker.setKeyboard(mKeys, mDebounceHysteresis);
}
requestLayout();
// Hint to reallocate the buffer if the size changed
@@ -599,14 +594,14 @@ public class LatinKeyboardBaseView extends View implements View.OnClickListener,
* @param enabled whether or not the proximity correction is enabled
*/
public void setProximityCorrectionEnabled(boolean enabled) {
- mProximityKeyDetector.setProximityCorrectionEnabled(enabled);
+ mKeyDetector.setProximityCorrectionEnabled(enabled);
}
/**
* Returns true if proximity correction is enabled.
*/
public boolean isProximityCorrectionEnabled() {
- return mProximityKeyDetector.isProximityCorrectionEnabled();
+ return mKeyDetector.isProximityCorrectionEnabled();
}
/**
@@ -658,7 +653,7 @@ public class LatinKeyboardBaseView extends View implements View.OnClickListener,
dimensionSum += Math.min(key.width, key.height) + key.gap;
}
if (dimensionSum < 0 || length == 0) return;
- mProximityKeyDetector.setProximityThreshold((int) (dimensionSum * 1.4f / length));
+ mKeyDetector.setProximityThreshold((int) (dimensionSum * 1.4f / length));
}
@Override
@@ -1052,7 +1047,7 @@ public class LatinKeyboardBaseView extends View implements View.OnClickListener,
// Create pointer trackers until we can get 'id+1'-th tracker, if needed.
for (int i = pointers.size(); i <= id; i++) {
final PointerTracker tracker =
- new PointerTracker(mHandler, mProximityKeyDetector, this);
+ new PointerTracker(mHandler, mKeyDetector, this);
if (keys != null)
tracker.setKeyboard(keys, mDebounceHysteresis);
if (listener != null)