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); }