diff --git a/apps/Term/res/values/strings.xml b/apps/Term/res/values/strings.xml
index e3f8fcf91..b5d622b9d 100644
--- a/apps/Term/res/values/strings.xml
+++ b/apps/Term/res/values/strings.xml
@@ -25,7 +25,7 @@
Text
Font size
- Choose character height in pixels.
+ Choose character height in points.
Font size
Colors
diff --git a/apps/Term/src/com/android/term/Term.java b/apps/Term/src/com/android/term/Term.java
index 6041baff3..cbf94cf10 100644
--- a/apps/Term/src/com/android/term/Term.java
+++ b/apps/Term/src/com/android/term/Term.java
@@ -45,6 +45,7 @@ import android.os.Handler;
import android.os.Message;
import android.preference.PreferenceManager;
import android.util.AttributeSet;
+import android.util.DisplayMetrics;
import android.util.Log;
import android.view.GestureDetector;
import android.view.KeyEvent;
@@ -158,14 +159,6 @@ public class Term extends Activity {
super.onCreate(icicle);
Log.e(Term.LOG_TAG, "onCreate");
mPrefs = PreferenceManager.getDefaultSharedPreferences(this);
- mPrefs.registerOnSharedPreferenceChangeListener(
- new SharedPreferences.OnSharedPreferenceChangeListener(){
-
- public void onSharedPreferenceChanged(
- SharedPreferences sharedPreferences, String key) {
- readPrefs();
- updatePrefs();
- }});
readPrefs();
setContentView(R.layout.term_activity);
@@ -227,7 +220,7 @@ public class Term extends Activity {
private void sendInitialCommand() {
String initialCommand = mInitialCommand;
- if (initialCommand == null) {
+ if (initialCommand == null || initialCommand.equals("")) {
initialCommand = DEFAULT_INITIAL_COMMAND;
}
if (initialCommand.length() > 0) {
@@ -253,7 +246,7 @@ public class Term extends Activity {
private void createSubprocess(int[] processId) {
String shell = mShell;
- if (shell == null) {
+ if (shell == null || shell.equals("")) {
shell = DEFAULT_SHELL;
}
ArrayList args = parse(shell);
@@ -347,7 +340,9 @@ public class Term extends Activity {
}
private void updatePrefs() {
- mEmulatorView.setTextSize(mFontSize);
+ DisplayMetrics metrics = new DisplayMetrics();
+ getWindowManager().getDefaultDisplay().getMetrics(metrics);
+ mEmulatorView.setTextSize((int) (mFontSize * metrics.density));
setColors();
mControlKeyCode = CONTROL_KEY_SCHEMES[mControlKeyId];
}
@@ -369,17 +364,10 @@ public class Term extends Activity {
}
@Override
- public void onPause() {
- SharedPreferences.Editor e = mPrefs.edit();
- e.clear();
- e.putString(FONTSIZE_KEY, Integer.toString(mFontSize));
- e.putString(COLOR_KEY, Integer.toString(mColorId));
- e.putString(CONTROLKEY_KEY, Integer.toString(mControlKeyId));
- e.putString(SHELL_KEY, mShell);
- e.putString(INITIALCOMMAND_KEY, mInitialCommand);
- e.commit();
-
- super.onPause();
+ public void onResume() {
+ super.onResume();
+ readPrefs();
+ updatePrefs();
}
@Override