--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Don't localize these default values -->
+ <string name="pref_statusbar_default">0</string>
+ <string name="pref_cursorstyle_default">0</string>
+ <string name="pref_cursorblink_default">0</string>
+ <string name="pref_fontsize_default">10</string>
+ <string name="pref_color_default">2</string>
+ <bool name="pref_utf8_by_default_default">false</bool>
+ <string name="pref_backaction_default">2</string>
+ <string name="pref_controlkey_default">5</string>
+ <string name="pref_fnkey_default">4</string>
+ <string name="pref_ime_default">0</string>
+ <string name="pref_shell_default">/system/bin/sh -</string>
+ <string name="pref_initialcommand_default">export PATH=/data/local/bin:$PATH</string>
+ <string name="pref_termtype_default">screen</string>
+ <bool name="pref_close_window_on_process_exit_default">true</bool>
+</resources>
<string name="title_close_window_on_process_exit_preference">Close window on exit</string>
<string name="summary_close_window_on_process_exit_preference">Whether a window should close when its shell exits.</string>
- <!-- Don't localize these default values -->
- <string name="default_value_statusbar_preference">0</string>
- <string name="default_value_cursorstyle_preference">0</string>
- <string name="default_value_cursorblink_preference">0</string>
- <string name="default_value_fontsize_preference">10</string>
- <string name="default_value_color_preference">2</string>
- <string name="default_value_backaction_preference">3</string>
- <string name="default_value_controlkey_preference">5</string>
- <string name="default_value_fnkey_preference">4</string>
- <string name="default_value_ime_preference">0</string>
- <string name="default_value_shell_preference">/system/bin/sh -</string>
- <string name="default_value_initialcommand_preference">export PATH=/data/local/bin:$PATH</string>
- <string name="default_value_termtype_preference">screen</string>
-
<string name="control_key_dialog_title">Control and Function Keys</string>
<!-- The word CTRLKEY should be left un-translated. It will be replaced at run-time with the
actual control key key name. -->
<ListPreference
android:key="statusbar"
- android:defaultValue="@string/default_value_statusbar_preference"
+ android:defaultValue="@string/pref_statusbar_default"
android:title="@string/title_statusbar_preference"
android:summary="@string/summary_statusbar_preference"
android:entries="@array/entries_statusbar_preference"
<!--
<ListPreference
android:key="cursorstyle"
- android:defaultValue="@string/default_value_cursorstyle_preference"
+ android:defaultValue="@string/pref_cursorstyle_default"
android:title="@string/title_cursorstyle_preference"
android:summary="@string/summary_cursorstyle_preference"
android:entries="@array/entries_cursorstyle_preference"
<ListPreference
android:key="cursorblink"
- android:defaultValue="@string/default_value_cursorblink_preference"
+ android:defaultValue="@string/pref_cursorblink_default"
android:title="@string/title_cursorblink_preference"
android:summary="@string/summary_cursorblink_preference"
android:entries="@array/entries_cursorblink_preference"
<ListPreference
android:key="fontsize"
- android:defaultValue="@string/default_value_fontsize_preference"
+ android:defaultValue="@string/pref_fontsize_default"
android:title="@string/title_fontsize_preference"
android:summary="@string/summary_fontsize_preference"
android:entries="@array/entries_fontsize_preference"
<ListPreference
android:key="color"
- android:defaultValue="@string/default_value_color_preference"
+ android:defaultValue="@string/pref_color_default"
android:title="@string/title_color_preference"
android:summary="@string/summary_color_preference"
android:entries="@array/entries_color_preference"
<CheckBoxPreference
android:key="utf8_by_default"
- android:defaultValue="false"
+ android:defaultValue="@bool/pref_utf8_by_default_default"
android:title="@string/title_utf8_by_default_preference"
android:summary="@string/summary_utf8_by_default_preference" />
<ListPreference
android:key="backaction"
- android:defaultValue="@string/default_value_backaction_preference"
+ android:defaultValue="@string/pref_backaction_default"
android:title="@string/title_backaction_preference"
android:summary="@string/summary_backaction_preference"
android:entries="@array/entries_backaction_preference"
<ListPreference
android:key="controlkey"
- android:defaultValue="@string/default_value_controlkey_preference"
+ android:defaultValue="@string/pref_controlkey_default"
android:title="@string/title_controlkey_preference"
android:summary="@string/summary_controlkey_preference"
android:entries="@array/entries_controlkey_preference"
<ListPreference
android:key="fnkey"
- android:defaultValue="@string/default_value_fnkey_preference"
+ android:defaultValue="@string/pref_fnkey_default"
android:title="@string/title_fnkey_preference"
android:summary="@string/summary_fnkey_preference"
android:entries="@array/entries_fnkey_preference"
<ListPreference
android:key="ime"
- android:defaultValue="@string/default_value_ime_preference"
+ android:defaultValue="@string/pref_ime_default"
android:title="@string/title_ime_preference"
android:summary="@string/summary_ime_preference"
android:entries="@array/entries_ime_preference"
<EditTextPreference
android:key="shell"
- android:defaultValue="@string/default_value_shell_preference"
+ android:defaultValue="@string/pref_shell_default"
android:title="@string/title_shell_preference"
android:summary="@string/summary_shell_preference"
android:dialogTitle="@string/dialog_title_shell_preference" />
<EditTextPreference
android:key="initialcommand"
- android:defaultValue="@string/default_value_initialcommand_preference"
+ android:defaultValue="@string/pref_initialcommand_default"
android:title="@string/title_initialcommand_preference"
android:summary="@string/summary_initialcommand_preference"
android:dialogTitle="@string/dialog_title_initialcommand_preference" />
<ListPreference
android:key="termtype"
- android:defaultValue="@string/default_value_termtype_preference"
+ android:defaultValue="@string/pref_termtype_default"
android:title="@string/title_termtype_preference"
android:summary="@string/summary_termtype_preference"
android:entries="@array/entries_termtype_preference"
android:dialogTitle="@string/dialog_title_termtype_preference" />
<CheckBoxPreference
android:key="close_window_on_process_exit"
- android:defaultValue="true"
+ android:defaultValue="@bool/pref_close_window_on_process_exit_default"
android:title="@string/title_close_window_on_process_exit_preference"
android:summary="@string/summary_close_window_on_process_exit_preference" />
</PreferenceCategory>
super.onCreate(icicle);
Log.e(TermDebug.LOG_TAG, "onCreate");
mPrefs = PreferenceManager.getDefaultSharedPreferences(this);
- mSettings = new TermSettings(mPrefs);
+ mSettings = new TermSettings(getResources(), mPrefs);
TSIntent = new Intent(this, TermService.class);
startService(TSIntent);
private static final int DEFAULT_COLUMNS = 80;
private static final int DEFAULT_ROWS = 24;
- private static final String DEFAULT_SHELL = "/system/bin/sh -";
- private static final String DEFAULT_INITIAL_COMMAND =
- "export PATH=/data/local/bin:$PATH";
- private static final String DEFAULT_TERMTYPE = "screen";
// Number of rows in the transcript
private static final int TRANSCRIPT_ROWS = 10000;
}
private void sendInitialCommand(String initialCommand) {
- if (initialCommand == null || initialCommand.equals("")) {
- initialCommand = DEFAULT_INITIAL_COMMAND;
- }
if (initialCommand.length() > 0) {
write(initialCommand + '\r');
}
private void createSubprocess(int[] processId) {
String shell = mSettings.getShell();
- if (shell == null || shell.equals("")) {
- shell = DEFAULT_SHELL;
- }
ArrayList<String> argList = parse(shell);
String arg0 = argList.get(0);
String[] args = argList.toArray(new String[1]);
String termType = mSettings.getTermType();
- if (termType == null) {
- termType = DEFAULT_TERMTYPE;
- }
String[] env = new String[1];
env[0] = "TERM=" + termType;
package jackpal.androidterm.util;
+import android.content.res.Resources;
import android.content.SharedPreferences;
import android.view.KeyEvent;
+import jackpal.androidterm.R;
+
/**
* Terminal emulator settings
*/
public class TermSettings {
private SharedPreferences mPrefs;
- private int mStatusBar = 0;
- private int mCursorStyle = 0;
- private int mCursorBlink = 0;
- private int mFontSize = 9;
- private int mColorId = 2;
- private int mControlKeyId = 5; // Default to Volume Down
- private int mFnKeyId = 4; // Default to Volume Up
- private int mUseCookedIME = 0;
+ private int mStatusBar;
+ private int mCursorStyle;
+ private int mCursorBlink;
+ private int mFontSize;
+ private int mColorId;
+ private int mControlKeyId;
+ private int mFnKeyId;
+ private int mUseCookedIME;
private String mShell;
private String mInitialCommand;
- private boolean mUTF8ByDefault = false;
- private int mBackKeyAction = BACK_KEY_CLOSES_ACTIVITY;
+ private boolean mUTF8ByDefault;
+ private int mBackKeyAction;
private String mTermType;
- private boolean mCloseOnExit = true;
+ private boolean mCloseOnExit;
private static final String STATUSBAR_KEY = "statusbar";
private static final String CURSORSTYLE_KEY = "cursorstyle";
public static final int BACK_KEY_SENDS_TAB = 4;
private static final int BACK_KEY_MAX = 4;
- public TermSettings(SharedPreferences prefs) {
+ public TermSettings(Resources res, SharedPreferences prefs) {
+ readDefaultPrefs(res);
readPrefs(prefs);
}
+ private void readDefaultPrefs(Resources res) {
+ mStatusBar = Integer.parseInt(res.getString(R.string.pref_statusbar_default));
+ mCursorStyle = Integer.parseInt(res.getString(R.string.pref_cursorstyle_default));
+ mCursorBlink = Integer.parseInt(res.getString(R.string.pref_cursorblink_default));
+ mFontSize = Integer.parseInt(res.getString(R.string.pref_fontsize_default));
+ mColorId = Integer.parseInt(res.getString(R.string.pref_color_default));
+ mUTF8ByDefault = res.getBoolean(R.bool.pref_utf8_by_default_default);
+ mBackKeyAction = Integer.parseInt(res.getString(R.string.pref_backaction_default));
+ mControlKeyId = Integer.parseInt(res.getString(R.string.pref_controlkey_default));
+ mFnKeyId = Integer.parseInt(res.getString(R.string.pref_fnkey_default));
+ mUseCookedIME = Integer.parseInt(res.getString(R.string.pref_ime_default));
+ mShell = res.getString(R.string.pref_shell_default);
+ mInitialCommand = res.getString(R.string.pref_initialcommand_default);
+ mTermType = res.getString(R.string.pref_termtype_default);
+ mCloseOnExit = res.getBoolean(R.bool.pref_close_window_on_process_exit_default);
+ }
+
public void readPrefs(SharedPreferences prefs) {
mPrefs = prefs;
mStatusBar = readIntPref(STATUSBAR_KEY, mStatusBar, 1);
mUseCookedIME = readIntPref(IME_KEY, mUseCookedIME, 1);
mShell = readStringPref(SHELL_KEY, mShell);
mInitialCommand = readStringPref(INITIALCOMMAND_KEY, mInitialCommand);
- mUTF8ByDefault = readBooleanPref(UTF8_KEY, false);
+ mUTF8ByDefault = readBooleanPref(UTF8_KEY, mUTF8ByDefault);
mBackKeyAction = readIntPref(BACKACTION_KEY, mBackKeyAction, BACK_KEY_MAX);
mTermType = readStringPref(TERMTYPE_KEY, mTermType);
mCloseOnExit = readBooleanPref(CLOSEONEXIT_KEY, mCloseOnExit);