Fix preference led bad behavior

This commit is contained in:
Sylvain Berfini 2012-09-04 09:51:49 +02:00
parent edf44abd56
commit 1a1472233e

View file

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