diff options
author | Christian Schneppe <christian.schneppe@pix-art.de> | 2019-10-26 18:28:35 +0200 |
---|---|---|
committer | Christian Schneppe <christian.schneppe@pix-art.de> | 2019-10-26 18:28:35 +0200 |
commit | 493ac6286f017858432b38624ea4c2f9e3ec9bba (patch) | |
tree | 824afae7d2b5a9c4ada478678672ec89967b4956 /src/main/java/de/pixart/messenger/services/XmppConnectionService.java | |
parent | 57e0f4a21d127667df11192711c7077439cfbb36 (diff) |
update ui after bookmark change
Diffstat (limited to 'src/main/java/de/pixart/messenger/services/XmppConnectionService.java')
-rw-r--r-- | src/main/java/de/pixart/messenger/services/XmppConnectionService.java | 10 |
1 files changed, 10 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 c93a22719..d7f815ac9 100644 --- a/src/main/java/de/pixart/messenger/services/XmppConnectionService.java +++ b/src/main/java/de/pixart/messenger/services/XmppConnectionService.java @@ -1862,6 +1862,16 @@ public class XmppConnectionService extends Service { if (pep && synchronizeWithBookmarks && !bookmark.autojoin()) { Log.d(Config.LOGTAG, account.getJid().asBareJid() + ": archiving conference (" + conversation.getJid() + ") after receiving pep"); archiveConversation(conversation, false); + } else { + final MucOptions mucOptions = conversation.getMucOptions(); + if (mucOptions.getError() == MucOptions.Error.NICK_IN_USE) { + final String current = mucOptions.getActualNick(); + final String proposed = mucOptions.getProposedNick(); + if (current != null && !current.equals(proposed)) { + Log.d(Config.LOGTAG, account.getJid().asBareJid() + ": proposed nick changed after bookmark push " + current + "->" + proposed); + joinMuc(conversation); + } + } } } else if (synchronizeWithBookmarks && bookmark.autojoin()) { conversation = findOrCreateConversation(account, bookmark.getFullJid(), true, true, false); |