--- /dev/null
+package de.hacksaar.andtuer;
+
+import android.content.SharedPreferences;
+import android.os.Bundle;
+import android.os.Environment;
+import android.preference.Preference;
+import android.preference.PreferenceActivity;
+
+public class DoorSettings extends PreferenceActivity implements Preference.OnPreferenceChangeListener {
+ public static final int DEFAULT_PORT = 22;
+ public static final String DEFAULT_HOST = "192.168.178.222";
+ public static final String DEFAULT_KEYFILE = Environment.getExternalStorageDirectory().getPath() + "/.ssh/id_rsa";
+ private static final String UNSET = "<unset>";
+ public static final String PREF_SERVER_PORT = "pref_server_port";
+ public static final String PREF_USER_USERNAME = "pref_user_username";
+ public static final String PREF_USER_KEYFILE = "pref_user_keyfile";
+ public static final String PREF_SERVER_HOSTNAME = "pref_server_hostname";
+
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ addPreferencesFromResource(R.xml.preferences);
+ Preference hostnamePreference = findPreference(PREF_SERVER_HOSTNAME);
+ hostnamePreference.setOnPreferenceChangeListener(this);
+ SharedPreferences sharedPreferences = getPreferenceManager().getSharedPreferences();
+ hostnamePreference.setSummary(sharedPreferences.getString(PREF_SERVER_HOSTNAME, DEFAULT_HOST));
+ Preference portPreference = findPreference(PREF_SERVER_PORT);
+ portPreference.setOnPreferenceChangeListener(this);
+ portPreference.setSummary(Integer.toString(sharedPreferences.getInt(PREF_SERVER_PORT, DEFAULT_PORT)));
+ Preference usernamePreference = findPreference(PREF_USER_USERNAME);
+ usernamePreference.setOnPreferenceChangeListener(this);
+ usernamePreference.setSummary(sharedPreferences.getString(PREF_USER_USERNAME, UNSET));
+ Preference keyfilePreference = findPreference(PREF_USER_KEYFILE);
+ keyfilePreference.setOnPreferenceChangeListener(this);
+ keyfilePreference.setSummary(sharedPreferences.getString(PREF_USER_KEYFILE, DEFAULT_KEYFILE));
+ }
+
+ @Override
+ public boolean onPreferenceChange(Preference preference, Object o) {
+ SharedPreferences sharedPreferences = getPreferenceManager().getSharedPreferences();
+ if (preference.getKey().equals(PREF_SERVER_PORT)) {
+ preference.setSummary(
+ Integer.toString(sharedPreferences.getInt(preference.getKey(), DEFAULT_PORT)));
+ } else {
+ preference.setSummary(sharedPreferences.getString(preference.getKey(), UNSET));
+ }
+ return true;
+ }
+}
\ No newline at end of file