From 0e437a4a32cbef41ddb5b1b92250c74ffd704954 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Tue, 5 Nov 2013 17:27:04 +0100 Subject: [PATCH] Change registration state on dialer's status bar after removing an account --- src/org/linphone/AccountPreferencesFragment.java | 6 ------ src/org/linphone/LinphonePreferences.java | 8 ++++++++ 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/org/linphone/AccountPreferencesFragment.java b/src/org/linphone/AccountPreferencesFragment.java index b718b7f80..84e5e7d0a 100644 --- a/src/org/linphone/AccountPreferencesFragment.java +++ b/src/org/linphone/AccountPreferencesFragment.java @@ -135,12 +135,6 @@ public class AccountPreferencesFragment extends PreferencesListFragment { return true; } }; - OnPreferenceChangeListener deleteChangedListener = new OnPreferenceChangeListener() { - @Override - public boolean onPreferenceChange(Preference preference, Object newValue) { - return true; - } - }; private void manageAccountPreferencesFields(PreferenceScreen parent) { boolean isDefaultAccount = mPrefs.getDefaultAccountIndex() == n; diff --git a/src/org/linphone/LinphonePreferences.java b/src/org/linphone/LinphonePreferences.java index 8c4926a99..a4bd3e45f 100644 --- a/src/org/linphone/LinphonePreferences.java +++ b/src/org/linphone/LinphonePreferences.java @@ -24,6 +24,7 @@ import org.linphone.core.LinphoneAuthInfo; import org.linphone.core.LinphoneCore; import org.linphone.core.LinphoneCore.FirewallPolicy; import org.linphone.core.LinphoneCore.MediaEncryption; +import org.linphone.core.LinphoneCore.RegistrationState; import org.linphone.core.LinphoneCore.Transports; import org.linphone.core.LinphoneCoreException; import org.linphone.core.LinphoneCoreFactory; @@ -402,6 +403,13 @@ public class LinphonePreferences { LinphoneProxyConfig proxyCfg = getProxyConfig(n); if (proxyCfg != null) getLc().removeProxyConfig(proxyCfg); + + if (getLc().getProxyConfigList().length == 0) { + // TODO: remove once issue http://bugs.linphone.org/view.php?id=984 will be fixed + LinphoneActivity.instance().getStatusFragment().registrationStateChanged(RegistrationState.RegistrationNone); + } else { + getLc().refreshRegisters(); + } } // End of accounts settings