#15735: Add onPreferenceChange callback in acccount creation activity
diff --git a/src/com/savoirfairelinux/sflphone/client/AccountCreationActivity.java b/src/com/savoirfairelinux/sflphone/client/AccountCreationActivity.java
index f6f97a5..e9a5b99 100644
--- a/src/com/savoirfairelinux/sflphone/client/AccountCreationActivity.java
+++ b/src/com/savoirfairelinux/sflphone/client/AccountCreationActivity.java
@@ -35,6 +35,7 @@
import android.content.ServiceConnection;
import android.os.Bundle;
import android.os.IBinder;
+import android.preference.Preference;
import android.preference.PreferenceActivity;
import android.preference.PreferenceManager;
import android.preference.EditTextPreference;
@@ -44,6 +45,8 @@
import com.savoirfairelinux.sflphone.service.SipService;
import com.savoirfairelinux.sflphone.service.ISipService;
+import java.util.ArrayList;
+
public class AccountCreationActivity extends PreferenceActivity
{
static final String TAG = "SFLPhonePreferenceActivity";
@@ -51,6 +54,13 @@
private boolean mBound = false;
private PreferenceManager mPreferenceManager = null;
+ Preference.OnPreferenceChangeListener changeNewAccountPreferenceListener = new Preference.OnPreferenceChangeListener() {
+ public boolean onPreferenceChange(Preference preference, Object newValue) {
+ preference.setSummary(getString(R.string.account_current_value_label) + (CharSequence)newValue);
+ return true;
+ }
+ };
+
private ServiceConnection mConnection = new ServiceConnection() {
@Override
public void onServiceConnected(ComponentName className, IBinder binder) {
@@ -71,14 +81,34 @@
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.account_creation_preferences);
+
+ mPreferenceManager = getPreferenceManager();
+ }
+
+ @Override
+ protected void onStart() {
+ super.onStart();
+ ArrayList<String> preferenceKey = new ArrayList<String>();
+ preferenceKey.add("AccountAlias");
+ preferenceKey.add("AccountUserName");
+ preferenceKey.add("AccountHostname");
+ preferenceKey.add("AccountPassword");
+ preferenceKey.add("AccountRealm");
+ preferenceKey.add("AccountUserAgent");
+ preferenceKey.add("AccountAutoAnswer");
+
+ for(String s : preferenceKey) {
+ EditTextPreference pref = (EditTextPreference) mPreferenceManager.findPreference(s);
+ if(pref != null)
+ pref.setOnPreferenceChangeListener(changeNewAccountPreferenceListener);
+ else
+ Log.i(TAG, "NO PREFERENCE FOUND " + s);
+ }
}
@Override
protected void onStop() {
super.onStop();
-
- mPreferenceManager = getPreferenceManager();
-
EditTextPreference accountAliasPref = (EditTextPreference) mPreferenceManager.findPreference("AccountAlias");
EditTextPreference accountUsername = (EditTextPreference) mPreferenceManager.findPreference("AccountUserName");
EditTextPreference accountHostname = (EditTextPreference) mPreferenceManager.findPreference("AccountHostname");