Java/Android stuff (me coding dirty \o/)
[saartuer.git] / AndTuer / src / de / hacksaar / andtuer / DoorSettings.java
diff --git a/AndTuer/src/de/hacksaar/andtuer/DoorSettings.java b/AndTuer/src/de/hacksaar/andtuer/DoorSettings.java
new file mode 100644 (file)
index 0000000..1fd0d7a
--- /dev/null
@@ -0,0 +1,49 @@
+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