diff options
-rw-r--r-- | AndroidManifest.xml | 10 | ||||
-rw-r--r-- | res/values/arrays.xml | 1 | ||||
-rw-r--r-- | res/values/strings.xml | 2 | ||||
-rw-r--r-- | src/org/connectbot/ConsoleActivity.java | 18 | ||||
-rw-r--r-- | 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 @@ <service android:name="org.connectbot.service.TerminalManager" android:configChanges="keyboardHidden|orientation" /> - <activity android:name=".ConsoleActivity" android:configChanges="keyboardHidden|orientation" android:theme="@style/NoTitle"> + <activity android:name=".ConsoleActivity" android:configChanges="keyboardHidden|orientation" + android:theme="@style/NoTitle" android:windowSoftInputMode="stateAlwaysVisible|adjustResize"> <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> @@ -41,13 +42,12 @@ </activity> </application> - + + <uses-sdk android:minSdkVersion="3" /> + <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.VIBRATE" /> <uses-permission android:name="android.permission.WAKE_LOCK" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> </manifest> - - - 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-array> <string-array name="list_rotation"> + <item>@string/list_rotation_default</item> <item>@string/list_rotation_land</item> <item>@string/list_rotation_port</item> <item>@string/list_rotation_auto</item> 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 @@ <string name="list_host_delete">Delete host</string> <string name="list_host_empty">Use the quick-connect box\nbelow to connect to a host.</string> + <!-- Default screen rotation preference selection --> + <string name="list_rotation_default">Default</string> <string name="list_rotation_land">Force landscape</string> <string name="list_rotation_port">Force portrait</string> <!-- Selection to indicate the rotation should be selected automatically based on the tilt sensor. --> 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); + } } |