aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--AndroidManifest.xml2
-rw-r--r--res/drawable/button_keyboard.pngbin0 -> 3326 bytes
-rw-r--r--res/layout/act_console.xml65
-rw-r--r--src/org/connectbot/ConsoleActivity.java33
4 files changed, 56 insertions, 44 deletions
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 21139ff..e103e5b 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -2,7 +2,7 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.connectbot"
android:versionName="1.7.0-rc1"
- android:versionCode="302"
+ android:versionCode="303"
android:installLocation="auto">
<application
diff --git a/res/drawable/button_keyboard.png b/res/drawable/button_keyboard.png
new file mode 100644
index 0000000..9205d8b
--- /dev/null
+++ b/res/drawable/button_keyboard.png
Binary files differ
diff --git a/res/layout/act_console.xml b/res/layout/act_console.xml
index 22741b0..7d0cfee 100644
--- a/res/layout/act_console.xml
+++ b/res/layout/act_console.xml
@@ -119,40 +119,43 @@
</RelativeLayout>
- <ImageView
- android:id="@+id/button_keyboard"
- android:paddingRight="15dip"
- android:paddingBottom="15dip"
- android:layout_width="wrap_content"
+ <RelativeLayout
+ android:id="@+id/keyboard_group"
+ android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
- android:layout_alignParentRight="true"
- android:visibility="gone"
- android:src="@+drawable/button_keyboard"
- />
+ android:padding="15dip"
+ android:visibility="gone">
- <ImageView
- android:id="@+id/button_ctrl"
- android:paddingRight="15dip"
- android:paddingBottom="15dip"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_alignParentBottom="true"
- android:layout_toLeftOf="@+id/button_keyboard"
- android:visibility="gone"
- android:src="@+drawable/button_ctrl"
- />
+ <ImageView
+ android:id="@+id/button_keyboard"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_alignParentBottom="true"
+ android:layout_alignParentRight="true"
+ android:src="@+drawable/button_keyboard"
+ />
- <ImageView
- android:id="@+id/button_esc"
- android:paddingRight="15dip"
- android:paddingBottom="15dip"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_alignParentBottom="true"
- android:layout_toLeftOf="@+id/button_ctrl"
- android:visibility="gone"
- android:src="@+drawable/button_esc"
- />
+ <ImageView
+ android:id="@+id/button_ctrl"
+ android:paddingRight="15dip"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_alignParentLeft="true"
+ android:layout_alignParentBottom="true"
+ android:src="@+drawable/button_ctrl"
+ />
+
+ <ImageView
+ android:id="@+id/button_esc"
+ android:paddingRight="15dip"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_toRightOf="@+id/button_ctrl"
+ android:layout_alignParentBottom="true"
+ android:src="@+drawable/button_esc"
+ />
+
+ </RelativeLayout>
</RelativeLayout>
diff --git a/src/org/connectbot/ConsoleActivity.java b/src/org/connectbot/ConsoleActivity.java
index 65ca40a..3a67f86 100644
--- a/src/org/connectbot/ConsoleActivity.java
+++ b/src/org/connectbot/ConsoleActivity.java
@@ -130,6 +130,8 @@ public class ConsoleActivity extends Activity {
private Handler handler = new Handler();
+ private ImageView mKeyboardButton;
+
private ServiceConnection connection = new ServiceConnection() {
public void onServiceConnected(ComponentName className, IBinder service) {
bound = ((TerminalManager.TerminalBinder) service).getService();
@@ -348,19 +350,21 @@ public class ConsoleActivity extends Activity {
inputManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
- final ImageView keyboardButton = (ImageView) findViewById(R.id.button_keyboard);
- keyboardButton.setOnClickListener(new OnClickListener() {
+ final RelativeLayout keyboardGroup = (RelativeLayout) findViewById(R.id.keyboard_group);
+
+ mKeyboardButton = (ImageView) findViewById(R.id.button_keyboard);
+ mKeyboardButton.setOnClickListener(new OnClickListener() {
public void onClick(View view) {
View flip = findCurrentView(R.id.console_flip);
if (flip == null)
return;
inputManager.showSoftInput(flip, InputMethodManager.SHOW_FORCED);
- keyboardButton.setVisibility(View.GONE);
+ keyboardGroup.setVisibility(View.GONE);
}
});
- final ImageView ctrlButton = (ImageView) findViewById(R.id.button_keyboard);
+ final ImageView ctrlButton = (ImageView) findViewById(R.id.button_ctrl);
ctrlButton.setOnClickListener(new OnClickListener() {
public void onClick(View view) {
View flip = findCurrentView(R.id.console_flip);
@@ -369,10 +373,12 @@ public class ConsoleActivity extends Activity {
TerminalKeyListener handler = terminal.bridge.getKeyHandler();
handler.metaPress(TerminalKeyListener.META_CTRL_ON);
+
+ keyboardGroup.setVisibility(View.GONE);
}
});
- final ImageView escButton = (ImageView) findViewById(R.id.button_keyboard);
+ final ImageView escButton = (ImageView) findViewById(R.id.button_esc);
escButton.setOnClickListener(new OnClickListener() {
public void onClick(View view) {
View flip = findCurrentView(R.id.console_flip);
@@ -381,6 +387,8 @@ public class ConsoleActivity extends Activity {
TerminalKeyListener handler = terminal.bridge.getKeyHandler();
handler.sendEscape();
+
+ keyboardGroup.setVisibility(View.GONE);
}
});
@@ -544,21 +552,20 @@ public class ConsoleActivity extends Activity {
lastX = event.getX();
lastY = event.getY();
} else if (event.getAction() == MotionEvent.ACTION_UP
- && config.hardKeyboardHidden != Configuration.KEYBOARDHIDDEN_NO
- && keyboardButton.getVisibility() == View.GONE
+ && keyboardGroup.getVisibility() == View.GONE
&& event.getEventTime() - event.getDownTime() < CLICK_TIME
&& Math.abs(event.getX() - lastX) < MAX_CLICK_DISTANCE
&& Math.abs(event.getY() - lastY) < MAX_CLICK_DISTANCE) {
- keyboardButton.startAnimation(keyboard_fade_in);
- keyboardButton.setVisibility(View.VISIBLE);
+ keyboardGroup.startAnimation(keyboard_fade_in);
+ keyboardGroup.setVisibility(View.VISIBLE);
handler.postDelayed(new Runnable() {
public void run() {
- if (keyboardButton.getVisibility() == View.GONE)
+ if (keyboardGroup.getVisibility() == View.GONE)
return;
- keyboardButton.startAnimation(keyboard_fade_out);
- keyboardButton.setVisibility(View.GONE);
+ keyboardGroup.startAnimation(keyboard_fade_out);
+ keyboardGroup.setVisibility(View.GONE);
}
}, KEYBOARD_DISPLAY_TIME);
}
@@ -1031,6 +1038,8 @@ public class ConsoleActivity extends Activity {
bound.setResizeAllowed(true);
bound.hardKeyboardHidden = (newConfig.hardKeyboardHidden == Configuration.HARDKEYBOARDHIDDEN_YES);
+
+ mKeyboardButton.setVisibility(bound.hardKeyboardHidden ? View.VISIBLE : View.GONE);
}
}