abouttreesummaryrefslogcommitdiff
path: root/srcs/juloo.keyboard2/Keyboard2View.java
diff options
context:
space:
mode:
authorjaguillo2015-10-28 20:56:28 +0100
committerjaguillo2015-10-28 20:56:28 +0100
commitda72455d358bffa481caf75ead21846506644128 (patch)
treebc4a6cd632fe39b0fab20a11e2b507ce9684666b /srcs/juloo.keyboard2/Keyboard2View.java
parent8fbe45607454b4f2d80ca85133ac7d4afaa21db3 (diff)
downloadunexpected-keyboard-da72455d358bffa481caf75ead21846506644128.tar.gz
unexpected-keyboard-da72455d358bffa481caf75ead21846506644128.zip
Improve preview popup
Diffstat (limited to 'srcs/juloo.keyboard2/Keyboard2View.java')
-rw-r--r--srcs/juloo.keyboard2/Keyboard2View.java23
1 files changed, 18 insertions, 5 deletions
diff --git a/srcs/juloo.keyboard2/Keyboard2View.java b/srcs/juloo.keyboard2/Keyboard2View.java
index 6cc8642..1158c80 100644
--- a/srcs/juloo.keyboard2/Keyboard2View.java
+++ b/srcs/juloo.keyboard2/Keyboard2View.java
@@ -43,7 +43,11 @@ public class Keyboard2View extends View
** TODO: move config values in a Config object
** TODO: settings: preview_enabled
** TODO: settings: preview_text_size
+ ** TODO: settings: preview_timeout
+ ** TODO: disable preview in password fields
*/
+ private long _previewDismissTimeout = 150; // especialy this one
+
private float _marginTop;
private float _keyWidth;
private float _keyPadding;
@@ -77,7 +81,7 @@ public class Keyboard2View extends View
super(context, attrs);
_vibratorService = (Vibrator)context.getSystemService(Context.VIBRATOR_SERVICE);
_handler = new Handler(this);
- _previewPopup = new KeyPreviewPopup(this);
+ _previewPopup = new KeyPreviewPopup(this, _previewDismissTimeout);
_horizontalMargin = getResources().getDimension(R.dimen.horizontal_margin);
_marginTop = getResources().getDimension(R.dimen.margin_top);
_marginBottom = getResources().getDimension(R.dimen.margin_bottom);
@@ -311,13 +315,22 @@ public class Keyboard2View extends View
{
if (key.value != null && (key.flags & (KeyValue.FLAG_LOCKED | KeyValue.FLAG_NOCHAR)) == 0)
((Keyboard2)getContext()).handleKeyUp(key.value, _flags);
- _previewPopup.setPreview(null); // TODO: preview next down key
+ // previewNextKeyDown
+ for (KeyDown k : _downKeys)
+ if ((k.value.getFlags() & (KeyValue.FLAG_KEY_FONT | KeyValue.FLAG_NOREPEAT | KeyValue.FLAG_NOCHAR)) == 0)
+ {
+ _previewPopup.setPreview(k.value, _flags);
+ return ;
+ }
+ _previewPopup.setPreview(null, 0);
}
private void handleKeyDown(KeyValue key)
{
- if (key != null)
- _previewPopup.setPreview(key.getSymbol(_flags));
+ if (key == null)
+ return ;
+ if ((key.getFlags() & (KeyValue.FLAG_KEY_FONT | KeyValue.FLAG_NOREPEAT | KeyValue.FLAG_NOCHAR)) == 0)
+ _previewPopup.setPreview(key, _flags);
vibrate();
}
@@ -422,7 +435,7 @@ public class Keyboard2View extends View
public void onDetachedFromWindow()
{
super.onDetachedFromWindow();
- _previewPopup.setPreview(null);
+ _previewPopup.forceDismiss();
}
private void drawLabel(Canvas canvas, KeyValue k, float x, float y, boolean locked)