From b45f6676f7c1661823cae2ba34e456a45ee4379b Mon Sep 17 00:00:00 2001 From: alescdb Date: Tue, 25 Aug 2015 23:58:37 +0200 Subject: Reset virtual keyboard auto-hide timer on hscroll --- .../main/java/org/connectbot/ConsoleActivity.java | 25 ++++++++++++++++------ 1 file changed, 18 insertions(+), 7 deletions(-) (limited to 'app/src/main/java/org/connectbot/ConsoleActivity.java') diff --git a/app/src/main/java/org/connectbot/ConsoleActivity.java b/app/src/main/java/org/connectbot/ConsoleActivity.java index 0e23979..61d7ce8 100644 --- a/app/src/main/java/org/connectbot/ConsoleActivity.java +++ b/app/src/main/java/org/connectbot/ConsoleActivity.java @@ -260,11 +260,11 @@ public class ConsoleActivity extends AppCompatActivity implements BridgeDisconne return (true); case MotionEvent.ACTION_CANCEL: - keyRepeatHandler.removeCallbacks(this); + mHandler.removeCallbacks(this); return (true); case MotionEvent.ACTION_UP: - keyRepeatHandler.removeCallbacks(this); + mHandler.removeCallbacks(this); if (!mDown) { onEmulatedKeyClicked(mView); } @@ -402,10 +402,12 @@ public class ConsoleActivity extends AppCompatActivity implements BridgeDisconne booleanPromptGroup.setVisibility(View.GONE); } - private void showEmulatedKeys() { + private void showEmulatedKeys(boolean showActionBar) { keyboardGroup.startAnimation(keyboard_fade_in); keyboardGroup.setVisibility(View.VISIBLE); - actionBar.show(); + if (showActionBar) { + actionBar.show(); + } autoHideEmulatedKeys(); } @@ -596,10 +598,10 @@ public class ConsoleActivity extends AppCompatActivity implements BridgeDisconne } }); + final HorizontalScrollView keyboardScroll = (HorizontalScrollView) findViewById(R.id.keyboard_hscroll); if (!hardKeyboard) { // Show virtual keyboard and scroll back and forth - final HorizontalScrollView keyboardScroll = (HorizontalScrollView) findViewById(R.id.keyboard_hscroll); - showEmulatedKeys(); + showEmulatedKeys(false); keyboardScroll.postDelayed(new Runnable() { @Override public void run() { @@ -620,6 +622,15 @@ public class ConsoleActivity extends AppCompatActivity implements BridgeDisconne } }, 1000); } + keyboardScroll.setOnTouchListener( + new OnTouchListener() { + public boolean onTouch(View v, MotionEvent event) { + if (event.getAction() == MotionEvent.ACTION_MOVE) { + autoHideEmulatedKeys(); + } + return (false); + } + }); tabs = (TabLayout) findViewById(R.id.tabs); if (tabs != null) @@ -788,7 +799,7 @@ public class ConsoleActivity extends AppCompatActivity implements BridgeDisconne && event.getEventTime() - event.getDownTime() < CLICK_TIME && Math.abs(event.getX() - lastX) < MAX_CLICK_DISTANCE && Math.abs(event.getY() - lastY) < MAX_CLICK_DISTANCE) { - showEmulatedKeys(); + showEmulatedKeys(true); } // pass any touch events back to detector -- cgit v1.2.3