aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--AndroidManifest.xml10
-rw-r--r--res/values/arrays.xml1
-rw-r--r--res/values/strings.xml2
-rw-r--r--src/org/connectbot/ConsoleActivity.java18
-rw-r--r--src/org/connectbot/TerminalView.java14
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);
+ }
}