Todo settings

This commit is contained in:
juloo 2015-08-08 15:26:23 +02:00
parent f22452488d
commit c29a2a9c9c
4 changed files with 26 additions and 37 deletions

View File

@ -1,8 +1,9 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<dimen name="horizontal_margin">12dp</dimen> <dimen name="horizontal_margin">12dp</dimen>
<dimen name="margin_bottom">3dp</dimen>
<dimen name="key_padding">3dp</dimen> <dimen name="key_padding">3dp</dimen>
<dimen name="key_height">37dp</dimen> <dimen name="key_height">36dp</dimen>
<dimen name="label_text_size">18dp</dimen> <dimen name="label_text_size">18dp</dimen>
<dimen name="sublabel_text_size">11dp</dimen> <dimen name="sublabel_text_size">11dp</dimen>
</resources> </resources>

View File

@ -1,10 +1,11 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<dimen name="vertical_margin">3dp</dimen> <dimen name="horizontal_margin">3dp</dimen>
<dimen name="horizontal_margin">2dp</dimen> <dimen name="margin_top">2dp</dimen>
<dimen name="margin_bottom">5dp</dimen>
<dimen name="key_padding">1dp</dimen> <dimen name="key_padding">1dp</dimen>
<dimen name="key_bg_padding">1dp</dimen> <dimen name="key_bg_padding">1dp</dimen>
<dimen name="key_height">44dp</dimen> <dimen name="key_height">50dp</dimen>
<dimen name="key_round">4dp</dimen> <dimen name="key_round">4dp</dimen>
<dimen name="label_text_size">16dp</dimen> <dimen name="label_text_size">16dp</dimen>
<dimen name="sublabel_text_size">10dp</dimen> <dimen name="sublabel_text_size">10dp</dimen>

View File

@ -7,9 +7,7 @@ import android.view.View;
public class Keyboard2 extends InputMethodService public class Keyboard2 extends InputMethodService
{ {
public static final String TAG = "Keyboard_2.0"; private KeyboardData _keyboardData; // TODO: settings
private KeyboardData _keyboardData;
private Keyboard2View _inputView = null; private Keyboard2View _inputView = null;
@Override @Override
@ -38,16 +36,6 @@ public class Keyboard2 extends InputMethodService
{ {
if (getCurrentInputConnection() == null) if (getCurrentInputConnection() == null)
return ; return ;
// DEBUG
String k = "Key ";
if ((flags & KeyValue.FLAG_CTRL) != 0)
k += "Ctrl-";
if ((flags & KeyValue.FLAG_ALT) != 0)
k += "Alt-";
if ((flags & KeyValue.FLAG_SHIFT) != 0)
k += "Shift-";
log(k + key.getName());
// -
if (key.getEventCode() == KeyValue.EVENT_CONFIG) if (key.getEventCode() == KeyValue.EVENT_CONFIG)
{ {
// TODO improve this shit // TODO improve this shit
@ -111,9 +99,4 @@ public class Keyboard2 extends InputMethodService
getCurrentInputConnection().sendKeyEvent(event); getCurrentInputConnection().sendKeyEvent(event);
getCurrentInputConnection().sendKeyEvent(KeyEvent.changeAction(event, KeyEvent.ACTION_UP)); getCurrentInputConnection().sendKeyEvent(KeyEvent.changeAction(event, KeyEvent.ACTION_UP));
} }
public static void log(String str)
{
Log.d(TAG, str);
}
} }

View File

@ -18,13 +18,14 @@ public class Keyboard2View extends View
{ {
private static final float KEY_PER_ROW = 10; private static final float KEY_PER_ROW = 10;
private static final float SUB_VALUE_DIST = 7f; private static final float SUB_VALUE_DIST = 7f; // TODO: settings
private static final long VIBRATE_DURATION = 20; private static final boolean VIBRATE_ENABLED = true; // TODO: settings
private static final long VIBRATE_DURATION = 20; // TODO: settings
private static final long VIBRATE_MIN_INTERVAL = 100; private static final long VIBRATE_MIN_INTERVAL = 100;
private static final long LONGPRESS_TIMEOUT = 600; private static final long LONGPRESS_TIMEOUT = 600; // TODO: settings
private static final long LONGPRESS_INTERVAL = 65; private static final long LONGPRESS_INTERVAL = 65; // TODO: settings
private Keyboard2 _ime; private Keyboard2 _ime;
private KeyboardData _keyboard; private KeyboardData _keyboard;
@ -39,10 +40,11 @@ public class Keyboard2View extends View
private Handler _handler; private Handler _handler;
private static int _currentWhat = 0; private static int _currentWhat = 0;
private float _verticalMargin;
private float _horizontalMargin; private float _horizontalMargin;
private float _marginTop;
private float _marginBottom; // TODO: settings
private float _keyWidth; private float _keyWidth;
private float _keyHeight; private float _keyHeight; // TODO: settings
private float _keyPadding; private float _keyPadding;
private float _keyBgPadding; private float _keyBgPadding;
private float _keyRound; private float _keyRound;
@ -58,8 +60,9 @@ public class Keyboard2View extends View
super(context, attrs); super(context, attrs);
_vibratorService = (Vibrator)context.getSystemService(Context.VIBRATOR_SERVICE); _vibratorService = (Vibrator)context.getSystemService(Context.VIBRATOR_SERVICE);
_handler = new Handler(this); _handler = new Handler(this);
_verticalMargin = getResources().getDimension(R.dimen.vertical_margin);
_horizontalMargin = getResources().getDimension(R.dimen.horizontal_margin); _horizontalMargin = getResources().getDimension(R.dimen.horizontal_margin);
_marginTop = getResources().getDimension(R.dimen.margin_top);
_marginBottom = getResources().getDimension(R.dimen.margin_bottom);
_keyHeight = getResources().getDimension(R.dimen.key_height); _keyHeight = getResources().getDimension(R.dimen.key_height);
_keyPadding = getResources().getDimension(R.dimen.key_padding); _keyPadding = getResources().getDimension(R.dimen.key_padding);
_keyBgPadding = getResources().getDimension(R.dimen.key_bg_padding); _keyBgPadding = getResources().getDimension(R.dimen.key_bg_padding);
@ -75,6 +78,7 @@ public class Keyboard2View extends View
_keySubLabelPaint.setColor(getResources().getColor(R.color.key_sub_label)); _keySubLabelPaint.setColor(getResources().getColor(R.color.key_sub_label));
_keySubLabelPaint.setTextSize(getResources().getDimension(R.dimen.sublabel_text_size)); _keySubLabelPaint.setTextSize(getResources().getDimension(R.dimen.sublabel_text_size));
setOnTouchListener(this); setOnTouchListener(this);
requestLayout();
} }
public void setKeyboard(Keyboard2 ime, KeyboardData keyboardData) public void setKeyboard(Keyboard2 ime, KeyboardData keyboardData)
@ -172,7 +176,7 @@ public class Keyboard2View extends View
float y; float y;
float keyW; float keyW;
y = _verticalMargin - _keyHeight; y = _marginTop - _keyHeight;
for (KeyboardData.Row row : _keyboard.getRows()) for (KeyboardData.Row row : _keyboard.getRows())
{ {
y += _keyHeight; y += _keyHeight;
@ -254,8 +258,9 @@ public class Keyboard2View extends View
private void vibrate() private void vibrate()
{ {
if (!VIBRATE_ENABLED)
return ;
long now = System.currentTimeMillis(); long now = System.currentTimeMillis();
if ((now - _lastVibration) > VIBRATE_MIN_INTERVAL) if ((now - _lastVibration) > VIBRATE_MIN_INTERVAL)
{ {
_lastVibration = now; _lastVibration = now;
@ -285,7 +290,6 @@ public class Keyboard2View extends View
return (true); return (true);
} }
} }
Keyboard2.log("problem: cannot handle this message");
return (false); return (false);
} }
@ -299,7 +303,7 @@ public class Keyboard2View extends View
height = 0; height = 0;
else else
height = (int)(_keyHeight * ((float)_keyboard.getRows().size()) height = (int)(_keyHeight * ((float)_keyboard.getRows().size())
+ (_verticalMargin * 2)); + _marginTop + _marginBottom);
setMeasuredDimension(dm.widthPixels, height); setMeasuredDimension(dm.widthPixels, height);
_keyWidth = (getWidth() - (_horizontalMargin * 2)) / KEY_PER_ROW; _keyWidth = (getWidth() - (_horizontalMargin * 2)) / KEY_PER_ROW;
} }
@ -311,7 +315,7 @@ public class Keyboard2View extends View
float y; float y;
boolean upperCase = ((_flags & KeyValue.FLAG_SHIFT) != 0); boolean upperCase = ((_flags & KeyValue.FLAG_SHIFT) != 0);
y = _verticalMargin; y = _marginTop;
for (KeyboardData.Row row : _keyboard.getRows()) for (KeyboardData.Row row : _keyboard.getRows())
{ {
x = (KEY_PER_ROW * _keyWidth - row.getWidth(_keyWidth)) / 2f + _horizontalMargin; x = (KEY_PER_ROW * _keyWidth - row.getWidth(_keyWidth)) / 2f + _horizontalMargin;