From 1a1472233e133670ca26d3178e0c336f181c14c9 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Tue, 4 Sep 2012 09:51:49 +0200 Subject: [PATCH] Fix preference led bad behavior --- src/org/linphone/PreferencesFragment.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/org/linphone/PreferencesFragment.java b/src/org/linphone/PreferencesFragment.java index c837903f9..e81f9be7e 100644 --- a/src/org/linphone/PreferencesFragment.java +++ b/src/org/linphone/PreferencesFragment.java @@ -384,13 +384,21 @@ public class PreferencesFragment extends PreferencesListFragment implements EcCa parent.addPreference(me); } - private void updateAccountLed(LedPreference me, String username, String domain) { + private void updateAccountLed(final LedPreference me, final String username, final String domain) { for (LinphoneProxyConfig lpc : LinphoneManager.getLc().getProxyConfigList()) { if (lpc.getIdentity().contains(username) && lpc.getIdentity().contains(domain)) { if (lpc.getState() == LinphoneCore.RegistrationState.RegistrationOk) { me.setLed(R.drawable.led_connected); } else if (lpc.getState() == LinphoneCore.RegistrationState.RegistrationFailed) { me.setLed(R.drawable.led_error); + } else if (lpc.getState() == LinphoneCore.RegistrationState.RegistrationProgress) { + me.setLed(R.drawable.led_inprogress); + mHandler.postDelayed(new Runnable() { + @Override + public void run() { + updateAccountLed(me, username, domain); + } + }, 1000); } else { me.setLed(R.drawable.led_disconnected); }