From 71ef0dc8ec5213eaa4adf9eecc1fd0c93220a573 Mon Sep 17 00:00:00 2001 From: Kenny Root Date: Tue, 5 May 2009 19:34:20 +0000 Subject: Added better support for virtual (soft) keyboards git-svn-id: https://connectbot.googlecode.com/svn/trunk/connectbot@217 df292f66-193f-0410-a5fc-6d59da041ff2 --- AndroidManifest.xml | 10 +++++----- res/values/arrays.xml | 1 + res/values/strings.xml | 2 ++ src/org/connectbot/ConsoleActivity.java | 18 ++++++++++++++---- src/org/connectbot/TerminalView.java | 14 ++++++++++++++ 5 files changed, 36 insertions(+), 9 deletions(-) diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 1c49c8c..1f304e7 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -31,7 +31,8 @@ - + @@ -41,13 +42,12 @@ - + + + - - - diff --git a/res/values/arrays.xml b/res/values/arrays.xml index eaed39a..6286561 100644 --- a/res/values/arrays.xml +++ b/res/values/arrays.xml @@ -11,6 +11,7 @@ + @string/list_rotation_default @string/list_rotation_land @string/list_rotation_port @string/list_rotation_auto diff --git a/res/values/strings.xml b/res/values/strings.xml index ef4d8d6..2ec7d70 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -304,6 +304,8 @@ Delete host Use the quick-connect box\nbelow to connect to a host. + + Default Force landscape Force portrait diff --git a/src/org/connectbot/ConsoleActivity.java b/src/org/connectbot/ConsoleActivity.java index 3bd20d8..c02a75a 100644 --- a/src/org/connectbot/ConsoleActivity.java +++ b/src/org/connectbot/ConsoleActivity.java @@ -34,6 +34,8 @@ import android.content.Intent; import android.content.ServiceConnection; import android.content.SharedPreferences; import android.content.pm.ActivityInfo; +import android.content.res.Configuration; +import android.content.res.Resources; import android.media.AudioManager; import android.net.Uri; import android.os.Bundle; @@ -302,13 +304,21 @@ public class ConsoleActivity extends Activity { WindowManager.LayoutParams.FLAG_FULLSCREEN); } + String rotateDefault; + if (Resources.getSystem().getConfiguration().keyboard == Configuration.KEYBOARD_NOKEYS) + rotateDefault = getString(R.string.list_rotation_port); + else + rotateDefault = getString(R.string.list_rotation_land); + + String rotate = prefs.getString(getString(R.string.pref_rotation), rotateDefault); + if (getString(R.string.list_rotation_default).equals(rotate)) + rotate = rotateDefault; + // request a forced orientation if requested by user - String rotate = prefs.getString(getString(R.string.pref_rotation), getString(R.string.list_rotation_land)); - if(getString(R.string.list_rotation_land).equals(rotate)) { + if (getString(R.string.list_rotation_land).equals(rotate)) setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); - } else if (getString(R.string.list_rotation_port).equals(rotate)) { + else if (getString(R.string.list_rotation_port).equals(rotate)) setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); - } // TODO find proper way to disable volume key beep if it exists. setVolumeControlStream(AudioManager.STREAM_MUSIC); diff --git a/src/org/connectbot/TerminalView.java b/src/org/connectbot/TerminalView.java index cb7b465..bf70835 100644 --- a/src/org/connectbot/TerminalView.java +++ b/src/org/connectbot/TerminalView.java @@ -32,6 +32,9 @@ import android.graphics.PixelXorXfermode; import android.graphics.RectF; import android.view.View; import android.view.ViewGroup.LayoutParams; +import android.view.inputmethod.BaseInputConnection; +import android.view.inputmethod.EditorInfo; +import android.view.inputmethod.InputConnection; import android.widget.Toast; /** @@ -231,4 +234,15 @@ public class TerminalView extends View implements FontSizeChangedListener { public void setNotifications(boolean value) { notifications = value; } + + @Override + public boolean onCheckIsTextEditor() { + return true; + } + + @Override + public InputConnection onCreateInputConnection(EditorInfo outAttrs) { + outAttrs.imeOptions |= EditorInfo.IME_FLAG_NO_EXTRACT_UI | EditorInfo.IME_ACTION_NONE; + return new BaseInputConnection(this, false); + } } -- cgit v1.2.3