From 301d4f6798f54b2b302638a0d67699cc7351adfb Mon Sep 17 00:00:00 2001 From: alescdb Date: Fri, 23 Oct 2015 20:16:57 +0200 Subject: Add a setting options to always show the virtual keyboard (special keys) --- .../main/java/org/connectbot/ConsoleActivity.java | 38 +++++++++++++++++----- 1 file changed, 29 insertions(+), 9 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 9cdb4a5..5cc9773 100644 --- a/app/src/main/java/org/connectbot/ConsoleActivity.java +++ b/app/src/main/java/org/connectbot/ConsoleActivity.java @@ -146,6 +146,7 @@ public class ConsoleActivity extends AppCompatActivity implements BridgeDisconne @Nullable private ActionBar actionBar; private boolean inActionBarMenu = false; private boolean titleBarHide; + private boolean keyboardAlwaysVisible = false; private ServiceConnection connection = new ServiceConnection() { public void onServiceConnected(ComponentName className, IBinder service) { @@ -436,8 +437,10 @@ public class ConsoleActivity extends AppCompatActivity implements BridgeDisconne if (keyboardGroup.getVisibility() == View.GONE || inActionBarMenu) return; - keyboardGroup.startAnimation(keyboard_fade_out); - keyboardGroup.setVisibility(View.GONE); + if(keyboardAlwaysVisible == false) { + keyboardGroup.startAnimation(keyboard_fade_out); + keyboardGroup.setVisibility(View.GONE); + } hideActionBarIfRequested(); keyboardGroupHider = null; } @@ -445,12 +448,14 @@ public class ConsoleActivity extends AppCompatActivity implements BridgeDisconne handler.postDelayed(keyboardGroupHider, KEYBOARD_DISPLAY_TIME); } - private void hideEmulatedKeys() { - if (keyboardGroupHider != null) - handler.removeCallbacks(keyboardGroupHider); - keyboardGroup.setVisibility(View.GONE); - hideActionBarIfRequested(); - } + private void hideEmulatedKeys() { + if(keyboardAlwaysVisible == false) { + if (keyboardGroupHider != null) + handler.removeCallbacks(keyboardGroupHider); + keyboardGroup.setVisibility(View.GONE); + } + hideActionBarIfRequested(); + } @TargetApi(11) private void requestActionBar() { @@ -504,7 +509,6 @@ public class ConsoleActivity extends AppCompatActivity implements BridgeDisconne toolbar = (Toolbar) findViewById(R.id.toolbar); pager = (TerminalViewPager) findViewById(R.id.console_flip); - pager.addOnPageChangeListener( new TerminalViewPager.SimpleOnPageChangeListener() { @Override @@ -574,6 +578,22 @@ public class ConsoleActivity extends AppCompatActivity implements BridgeDisconne keyboardGroup = (LinearLayout) findViewById(R.id.keyboard_group); + keyboardAlwaysVisible = prefs.getBoolean(PreferenceConstants.KEY_ALWAYS_VISIVLE, false); + if(keyboardAlwaysVisible) { + // equivalent to android:layout_above=keyboard_group + RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams( + ViewGroup.LayoutParams.MATCH_PARENT, + ViewGroup.LayoutParams.MATCH_PARENT); + layoutParams.addRule(RelativeLayout.ABOVE, R.id.keyboard_group); + pager.setLayoutParams(layoutParams); + + // Show virtual keyboard + keyboardGroup.setVisibility(View.VISIBLE); + + // We don't need the show keyboard button + findViewById(R.id.button_keyboard).setVisibility(View.GONE); + } + mKeyboardButton = (ImageView) findViewById(R.id.button_keyboard); mKeyboardButton.setOnClickListener(new OnClickListener() { public void onClick(View view) { -- cgit v1.2.3