diff options
author | Christian Schneppe <christian@pix-art.de> | 2018-07-09 21:01:15 +0200 |
---|---|---|
committer | Christian Schneppe <christian@pix-art.de> | 2018-07-09 21:01:15 +0200 |
commit | b339e03c87497eb2f8531ec2a8dc02d16c3f33ab (patch) | |
tree | 12e78e586685a99097f6e5555faa28b4db76043e /src/main/java/de/pixart/messenger/services | |
parent | ab45078377b625f699aa806e22832fda75dfd131 (diff) |
save name instead of subject in bookmark
Diffstat (limited to '')
-rw-r--r-- | src/main/java/de/pixart/messenger/services/XmppConnectionService.java | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/src/main/java/de/pixart/messenger/services/XmppConnectionService.java b/src/main/java/de/pixart/messenger/services/XmppConnectionService.java index 95acb6bf0..ceb37a2fd 100644 --- a/src/main/java/de/pixart/messenger/services/XmppConnectionService.java +++ b/src/main/java/de/pixart/messenger/services/XmppConnectionService.java @@ -125,6 +125,7 @@ import de.pixart.messenger.utils.ReplacingSerialSingleThreadExecutor; import de.pixart.messenger.utils.ReplacingTaskManager; import de.pixart.messenger.utils.Resolver; import de.pixart.messenger.utils.SerialSingleThreadExecutor; +import de.pixart.messenger.utils.StringUtils; import de.pixart.messenger.utils.WakeLockHelper; import de.pixart.messenger.utils.XmppUri; import de.pixart.messenger.xml.Element; @@ -2699,13 +2700,25 @@ public class XmppConnectionService extends Service { @Override public void onIqPacketReceived(Account account, IqPacket packet) { if (packet.getType() == IqPacket.TYPE.RESULT) { - if (conversation.getMucOptions().updateConfiguration(new ServiceDiscoveryResult(packet))) { + final MucOptions mucOptions = conversation.getMucOptions(); + final Bookmark bookmark = conversation.getBookmark(); + final boolean sameBefore = StringUtils.equals(bookmark == null ? null : bookmark.getBookmarkName(), mucOptions.getName()); + + if (mucOptions.updateConfiguration(new ServiceDiscoveryResult(packet))) { Log.d(Config.LOGTAG, account.getJid().asBareJid() + ": muc configuration changed for " + conversation.getJid().asBareJid()); updateConversation(conversation); } + + if (bookmark != null && (sameBefore || bookmark.getBookmarkName() == null)) { + if (bookmark.setBookmarkName(mucOptions.getName())) { + pushBookmarks(account); + } + } + if (callback != null) { callback.onConferenceConfigurationFetched(conversation); } + updateConversationUi(); } else if (packet.getType() == IqPacket.TYPE.ERROR) { if (callback != null) { |