remove soft disable flag when attempting call

Daniel Gultsch created

Change summary

src/main/java/eu/siacs/conversations/entities/Account.java        | 3 
src/main/java/eu/siacs/conversations/ui/ConversationFragment.java | 4 +
2 files changed, 7 insertions(+)

Detailed changes

src/main/java/eu/siacs/conversations/entities/Account.java 🔗

@@ -258,6 +258,9 @@ public class Account extends AbstractEntity implements AvatarService.Avatarable
     }
 
     public boolean setOption(final int option, final boolean value) {
+        if (value && (option == OPTION_DISABLED || option == OPTION_SOFT_DISABLED)) {
+            this.setStatus(State.OFFLINE);
+        }
         final int before = this.options;
         if (value) {
             this.options |= 1 << option;

src/main/java/eu/siacs/conversations/ui/ConversationFragment.java 🔗

@@ -1609,6 +1609,10 @@ public class ConversationFragment extends XmppFragment
                     .show();
             return;
         }
+        final Account account = conversation.getAccount();
+        if (account.setOption(Account.OPTION_SOFT_DISABLED, false)) {
+            activity.xmppConnectionService.updateAccount(account);
+        }
         final Contact contact = conversation.getContact();
         if (RtpCapability.jmiSupport(contact)) {
             triggerRtpSession(contact.getAccount(), contact.getJid().asBareJid(), action);