aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/de/pixart/messenger/services/XmppConnectionService.java
diff options
context:
space:
mode:
authorChristian Schneppe <christian.schneppe@pix-art.de>2019-10-26 18:28:35 +0200
committerChristian Schneppe <christian.schneppe@pix-art.de>2019-10-26 18:28:35 +0200
commit493ac6286f017858432b38624ea4c2f9e3ec9bba (patch)
tree824afae7d2b5a9c4ada478678672ec89967b4956 /src/main/java/de/pixart/messenger/services/XmppConnectionService.java
parent57e0f4a21d127667df11192711c7077439cfbb36 (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.java10
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);