diff options
author | adb2001 <adb2001@hotmail.com> | 2015-08-09 18:08:06 +0200 |
---|---|---|
committer | adb2001 <adb2001@hotmail.com> | 2015-08-09 18:08:06 +0200 |
commit | 8528278c042cb4eb92e3c434ab52beb24860f6c3 (patch) | |
tree | 6da473a2f9389cbdeb49ea5d49dd9daaf0639642 /app/src/main/java | |
parent | ef3b005fdb3db2f42632bc304bef6b424b748d6d (diff) | |
download | connectbot-8528278c042cb4eb92e3c434ab52beb24860f6c3.tar.gz connectbot-8528278c042cb4eb92e3c434ab52beb24860f6c3.tar.bz2 connectbot-8528278c042cb4eb92e3c434ab52beb24860f6c3.zip |
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.
Diffstat (limited to 'app/src/main/java')
-rw-r--r-- | app/src/main/java/org/connectbot/ConsoleActivity.java | 145 | ||||
-rw-r--r-- | app/src/main/java/org/connectbot/service/TerminalKeyListener.java | 1 |
2 files changed, 65 insertions, 81 deletions
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(); } /** |