diff options
Diffstat (limited to 'src/main/java/de/pixart/messenger/services/XmppConnectionService.java')
-rw-r--r-- | src/main/java/de/pixart/messenger/services/XmppConnectionService.java | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/main/java/de/pixart/messenger/services/XmppConnectionService.java b/src/main/java/de/pixart/messenger/services/XmppConnectionService.java index 519cec043..8293d39f0 100644 --- a/src/main/java/de/pixart/messenger/services/XmppConnectionService.java +++ b/src/main/java/de/pixart/messenger/services/XmppConnectionService.java @@ -1922,9 +1922,14 @@ public class XmppConnectionService extends Service { this.accounts.add(account); this.reconnectAccountInBackground(account); updateAccountUi(); + syncEnabledAccountSetting(); toggleForegroundService(); } + private void syncEnabledAccountSetting() { + getPreferences().edit().putBoolean(EventReceiver.SETTING_ENABLED_ACCOUNTS, hasEnabledAccounts()).apply(); + } + public void createAccountFromKey(final String alias, final OnAccountCreated callback) { new Thread(new Runnable() { @Override @@ -1997,6 +2002,7 @@ public class XmppConnectionService extends Service { updateAccountUi(); getNotificationService().updateErrorNotification(); toggleForegroundService(); + syncEnabledAccountSetting(); return true; } else { return false; @@ -2491,6 +2497,15 @@ public class XmppConnectionService extends Service { } } + private boolean hasEnabledAccounts() { + for(Account account : this.accounts) { + if (!account.isOptionSet(Account.OPTION_DISABLED)) { + return true; + } + } + return false; + } + public void renameInMuc(final Conversation conversation, final String nick, final UiCallback<Conversation> callback) { final MucOptions options = conversation.getMucOptions(); final Jid joinJid = options.createJoinJid(nick); |