From 8528278c042cb4eb92e3c434ab52beb24860f6c3 Mon Sep 17 00:00:00 2001 From: adb2001 Date: Sun, 9 Aug 2015 18:08:06 +0200 Subject: Code cleanup : create onEmulatedKeyClicked() via a global OnClickListener (emulatedKeysListener) handling all buttons events (except keyboard) since they all share the same code. Reset auto hide timer when an arrow button is clicked to allow multiple click. Remove unused ctrl, esc and tab png. Add haptic feedback to all keys except tab and keyboard. --- .../main/java/org/connectbot/ConsoleActivity.java | 145 +++++++++------------ .../connectbot/service/TerminalKeyListener.java | 1 - app/src/main/res/drawable/button_ctrl.png | Bin 3254 -> 0 bytes app/src/main/res/drawable/button_esc.png | Bin 3638 -> 0 bytes app/src/main/res/drawable/button_tab.png | Bin 3535 -> 0 bytes 5 files changed, 65 insertions(+), 81 deletions(-) delete mode 100644 app/src/main/res/drawable/button_ctrl.png delete mode 100644 app/src/main/res/drawable/button_esc.png delete mode 100644 app/src/main/res/drawable/button_tab.png diff --git a/app/src/main/java/org/connectbot/ConsoleActivity.java b/app/src/main/java/org/connectbot/ConsoleActivity.java index 351ec27..853c68f 100644 --- a/app/src/main/java/org/connectbot/ConsoleActivity.java +++ b/app/src/main/java/org/connectbot/ConsoleActivity.java @@ -206,6 +206,61 @@ public class ConsoleActivity extends Activity { } }; + protected OnClickListener emulatedKeysListener = new OnClickListener() { + @Override + public void onClick(View v) { + onEmulatedKeyClicked(v); + } + }; + + private void onEmulatedKeyClicked(View v) { + View flip = findCurrentView(R.id.console_flip); + int viewId = v.getId(); + boolean hideKeys = true; + + if (flip == null) + return; + + TerminalView terminal = (TerminalView) flip; + TerminalKeyListener handler = terminal.bridge.getKeyHandler(); + + switch (viewId) { + case R.id.button_ctrl: + handler.metaPress(TerminalKeyListener.OUR_CTRL_ON, true); + break; + case R.id.button_esc: + handler.sendEscape(); + break; + case R.id.button_tab: + handler.sendTab(); + break; + case R.id.button_up: + handler.sendPressedKey(vt320.KEY_UP); + hideKeys = false; + break; + case R.id.button_down: + handler.sendPressedKey(vt320.KEY_DOWN); + hideKeys = false; + break; + case R.id.button_left: + handler.sendPressedKey(vt320.KEY_LEFT); + hideKeys = false; + break; + case R.id.button_right: + handler.sendPressedKey(vt320.KEY_RIGHT); + hideKeys = false; + break; + } + + if (hideKeys) + hideEmulatedKeys(); + else + autoHideEmulatedKeys(); + + if (viewId != R.id.button_tab) + terminal.bridge.tryKeyVibrate(); + } + /** * @param bridge */ @@ -244,7 +299,10 @@ public class ConsoleActivity extends Activity { keyboardGroup.startAnimation(keyboard_fade_in); keyboardGroup.setVisibility(View.VISIBLE); actionBar.show(); + autoHideEmulatedKeys(); + } + private void autoHideEmulatedKeys() { if (keyboardGroupHider != null) handler.removeCallbacks(keyboardGroupHider); keyboardGroupHider = new Runnable() { @@ -387,86 +445,13 @@ public class ConsoleActivity extends Activity { } }); - final Button ctrlButton = (Button) findViewById(R.id.button_ctrl); - ctrlButton.setOnClickListener(new OnClickListener() { - public void onClick(View view) { - TerminalView terminal = adapter.getCurrentTerminalView(); - if (terminal == null) return; - - TerminalKeyListener handler = terminal.bridge.getKeyHandler(); - handler.metaPress(TerminalKeyListener.OUR_CTRL_ON, true); - hideEmulatedKeys(); - } - }); - - final Button escButton = (Button) findViewById(R.id.button_esc); - escButton.setOnClickListener(new OnClickListener() { - public void onClick(View view) { - TerminalView terminal = adapter.getCurrentTerminalView(); - if (terminal == null) return; - - TerminalKeyListener handler = terminal.bridge.getKeyHandler(); - handler.sendEscape(); - hideEmulatedKeys(); - } - }); - - final Button tabButton = (Button) findViewById(R.id.button_tab); - tabButton.setOnClickListener(new OnClickListener() { - public void onClick(View view) { - TerminalView terminal = adapter.getCurrentTerminalView(); - if (terminal == null) return; - - TerminalKeyListener handler = terminal.bridge.getKeyHandler(); - handler.sendTab(); - hideEmulatedKeys(); - } - }); - final Button upButton = (Button) findViewById(R.id.button_up); - upButton.setOnClickListener(new OnClickListener() { - public void onClick(View view) { - View flip = findCurrentView(R.id.console_flip); - if (flip == null) return; - TerminalView terminal = (TerminalView) flip; - - - TerminalKeyListener handler = terminal.bridge.getKeyHandler(); - handler.sendPressedKey(vt320.KEY_UP); - } - }); - final Button dnButton = (Button) findViewById(R.id.button_down); - dnButton.setOnClickListener(new OnClickListener() { - public void onClick(View view) { - View flip = findCurrentView(R.id.console_flip); - if (flip == null) return; - TerminalView terminal = (TerminalView) flip; - - TerminalKeyListener handler = terminal.bridge.getKeyHandler(); - handler.sendPressedKey(vt320.KEY_DOWN); - } - }); - final Button leftButton = (Button) findViewById(R.id.button_left); - leftButton.setOnClickListener(new OnClickListener() { - public void onClick(View view) { - View flip = findCurrentView(R.id.console_flip); - if (flip == null) return; - TerminalView terminal = (TerminalView) flip; - - TerminalKeyListener handler = terminal.bridge.getKeyHandler(); - handler.sendPressedKey(vt320.KEY_LEFT); - } - }); - final Button rightButton = (Button) findViewById(R.id.button_right); - rightButton.setOnClickListener(new OnClickListener() { - public void onClick(View view) { - View flip = findCurrentView(R.id.console_flip); - if (flip == null) return; - TerminalView terminal = (TerminalView) flip; - - TerminalKeyListener handler = terminal.bridge.getKeyHandler(); - handler.sendPressedKey(vt320.KEY_RIGHT); - } - }); + findViewById(R.id.button_ctrl).setOnClickListener(emulatedKeysListener); + findViewById(R.id.button_esc).setOnClickListener(emulatedKeysListener); + findViewById(R.id.button_tab).setOnClickListener(emulatedKeysListener); + findViewById(R.id.button_up).setOnClickListener(emulatedKeysListener); + findViewById(R.id.button_down).setOnClickListener(emulatedKeysListener); + findViewById(R.id.button_left).setOnClickListener(emulatedKeysListener); + findViewById(R.id.button_right).setOnClickListener(emulatedKeysListener); actionBar = ActionBarWrapper.getActionBar(this); actionBar.setDisplayHomeAsUpEnabled(true); diff --git a/app/src/main/java/org/connectbot/service/TerminalKeyListener.java b/app/src/main/java/org/connectbot/service/TerminalKeyListener.java index c585f46..1b2ffe4 100644 --- a/app/src/main/java/org/connectbot/service/TerminalKeyListener.java +++ b/app/src/main/java/org/connectbot/service/TerminalKeyListener.java @@ -522,7 +522,6 @@ public class TerminalKeyListener implements OnKeyListener, OnSharedPreferenceCha public void sendPressedKey(int key) { ((vt320) buffer).keyPressed(key, ' ', getStateForBuffer()); - bridge.tryKeyVibrate(); } /** diff --git a/app/src/main/res/drawable/button_ctrl.png b/app/src/main/res/drawable/button_ctrl.png deleted file mode 100644 index dc4d786..0000000 Binary files a/app/src/main/res/drawable/button_ctrl.png and /dev/null differ diff --git a/app/src/main/res/drawable/button_esc.png b/app/src/main/res/drawable/button_esc.png deleted file mode 100644 index 5f0cfc6..0000000 Binary files a/app/src/main/res/drawable/button_esc.png and /dev/null differ diff --git a/app/src/main/res/drawable/button_tab.png b/app/src/main/res/drawable/button_tab.png deleted file mode 100644 index 4443118..0000000 Binary files a/app/src/main/res/drawable/button_tab.png and /dev/null differ -- cgit v1.2.3 From 0a1d2a02f96a7201424ea6b2dc918e987f630c15 Mon Sep 17 00:00:00 2001 From: adb2001 Date: Mon, 10 Aug 2015 07:39:29 +0200 Subject: Add haptic feedback for Tab key --- app/src/main/java/org/connectbot/ConsoleActivity.java | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/org/connectbot/ConsoleActivity.java b/app/src/main/java/org/connectbot/ConsoleActivity.java index 853c68f..727749d 100644 --- a/app/src/main/java/org/connectbot/ConsoleActivity.java +++ b/app/src/main/java/org/connectbot/ConsoleActivity.java @@ -215,16 +215,14 @@ public class ConsoleActivity extends Activity { private void onEmulatedKeyClicked(View v) { View flip = findCurrentView(R.id.console_flip); - int viewId = v.getId(); - boolean hideKeys = true; - if (flip == null) return; TerminalView terminal = (TerminalView) flip; TerminalKeyListener handler = terminal.bridge.getKeyHandler(); + boolean hideKeys = true; - switch (viewId) { + switch (v.getId()) { case R.id.button_ctrl: handler.metaPress(TerminalKeyListener.OUR_CTRL_ON, true); break; @@ -257,8 +255,7 @@ public class ConsoleActivity extends Activity { else autoHideEmulatedKeys(); - if (viewId != R.id.button_tab) - terminal.bridge.tryKeyVibrate(); + terminal.bridge.tryKeyVibrate(); } /** -- cgit v1.2.3