X-Git-Url: https://git.ralfj.de/saartuer.git/blobdiff_plain/a89547dadb2928083b7bd859f99cca9c8c61f74b..5bceb6534d5f640dcdd4d5015cecfbad4e82a7b7:/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 index 0000000..1fd0d7a --- /dev/null +++ b/AndTuer/src/de/hacksaar/andtuer/DoorSettings.java @@ -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 = ""; + 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