account deletion: only attempt to delete omemo id when connected
This commit is contained in:
parent
7b160a358e
commit
618d892ae7
|
@ -2198,19 +2198,24 @@ public class XmppConnectionService extends Service {
|
|||
}
|
||||
|
||||
public void deleteAccount(final Account account) {
|
||||
final boolean connected = account.getStatus() == Account.State.ONLINE;
|
||||
synchronized (this.conversations) {
|
||||
account.getAxolotlService().deleteOmemoIdentity();
|
||||
for (final Conversation conversation : conversations) {
|
||||
if (conversation.getAccount() == account) {
|
||||
if (conversation.getMode() == Conversation.MODE_MULTI) {
|
||||
leaveMuc(conversation);
|
||||
}
|
||||
conversations.remove(conversation);
|
||||
mNotificationService.clear(conversation);
|
||||
}
|
||||
}
|
||||
if (connected) {
|
||||
account.getAxolotlService().deleteOmemoIdentity();
|
||||
}
|
||||
for (final Conversation conversation : conversations) {
|
||||
if (conversation.getAccount() == account) {
|
||||
if (conversation.getMode() == Conversation.MODE_MULTI) {
|
||||
if (connected) {
|
||||
leaveMuc(conversation);
|
||||
}
|
||||
}
|
||||
conversations.remove(conversation);
|
||||
mNotificationService.clear(conversation);
|
||||
}
|
||||
}
|
||||
if (account.getXmppConnection() != null) {
|
||||
new Thread(() -> disconnect(account, false)).start();
|
||||
new Thread(() -> disconnect(account, !connected)).start();
|
||||
}
|
||||
final Runnable runnable = () -> {
|
||||
if (!databaseBackend.deleteAccount(account)) {
|
||||
|
|
Loading…
Reference in a new issue