From 3aa9f829c9045401475a2b1e4d6d7d0d552bacad Mon Sep 17 00:00:00 2001 From: Margaux Clerc Date: Fri, 13 Nov 2015 16:47:48 +0100 Subject: [PATCH] Fix account delete in side menu and status bar --- res/layout/contact_control_row.xml | 4 +- .../linphone/AccountPreferencesFragment.java | 2 + src/org/linphone/ContactDetailsFragment.java | 45 ++++++++++++------- src/org/linphone/LinphoneActivity.java | 11 +++-- src/org/linphone/LinphonePreferences.java | 5 ++- src/org/linphone/StatusFragment.java | 7 +++ 6 files changed, 48 insertions(+), 26 deletions(-) diff --git a/res/layout/contact_control_row.xml b/res/layout/contact_control_row.xml index 9d91776f4..360344f79 100644 --- a/res/layout/contact_control_row.xml +++ b/res/layout/contact_control_row.xml @@ -46,7 +46,7 @@ android:orientation="horizontal"> 1) { accountsList.setVisibility(View.VISIBLE); accountsList.setAdapter(new AccountsListAdapter()); @@ -1391,6 +1389,7 @@ public class LinphoneActivity extends Activity implements OnClickListener, Conta } else { accountsList.setVisibility(View.GONE); } + displayMainAccount(); } private void initAccounts() { diff --git a/src/org/linphone/LinphonePreferences.java b/src/org/linphone/LinphonePreferences.java index 63892c36f..cc2c384ee 100644 --- a/src/org/linphone/LinphonePreferences.java +++ b/src/org/linphone/LinphonePreferences.java @@ -700,13 +700,14 @@ public class LinphonePreferences { public void deleteAccount(int n) { final LinphoneProxyConfig proxyCfg = getProxyConfig(n); - if (proxyCfg != null) getLc().removeProxyConfig(proxyCfg); if (getLc().getProxyConfigList().length != 0) { resetDefaultProxyConfig(); - getLc().refreshRegisters(); + } else { + getLc().setDefaultProxyConfig(null); } + getLc().refreshRegisters(); } // End of accounts settings diff --git a/src/org/linphone/StatusFragment.java b/src/org/linphone/StatusFragment.java index 63ebd4ce6..33301a511 100644 --- a/src/org/linphone/StatusFragment.java +++ b/src/org/linphone/StatusFragment.java @@ -204,6 +204,13 @@ public class StatusFragment extends Fragment { } } + public void resetAccountStatus(){ + if(LinphoneManager.getLc().getProxyConfigList().length == 0){ + statusLed.setImageResource(R.drawable.led_disconnected); + statusText.setText(getString(R.string.no_account)); + } + } + public void enableSideMenu(boolean enabled) { menu.setEnabled(enabled); }