diff options
Diffstat (limited to 'src/main/java/de/pixart/messenger/services/XmppConnectionService.java')
-rw-r--r-- | src/main/java/de/pixart/messenger/services/XmppConnectionService.java | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/src/main/java/de/pixart/messenger/services/XmppConnectionService.java b/src/main/java/de/pixart/messenger/services/XmppConnectionService.java index b436d9ec9..2a458414c 100644 --- a/src/main/java/de/pixart/messenger/services/XmppConnectionService.java +++ b/src/main/java/de/pixart/messenger/services/XmppConnectionService.java @@ -2591,6 +2591,22 @@ public class XmppConnectionService extends Service { return false; } + public void persistSelfNick(MucOptions.User self) { + final Conversation conversation = self.getConversation(); + Jid full = self.getFullJid(); + if (!full.equals(conversation.getJid())) { + Log.d(Config.LOGTAG, "nick changed. updating"); + conversation.setContactJid(full); + databaseBackend.updateConversation(conversation); + } + + Bookmark bookmark = conversation.getBookmark(); + if (bookmark != null && !full.getResourcepart().equals(bookmark.getNick())) { + bookmark.setNick(full.getResourcepart()); + pushBookmarks(bookmark.getAccount()); + } + } + public boolean renameInMuc(final Conversation conversation, final String nick, final UiCallback<Conversation> callback) { final MucOptions options = conversation.getMucOptions(); final Jid joinJid = options.createJoinJid(nick); @@ -2603,13 +2619,6 @@ public class XmppConnectionService extends Service { @Override public void onSuccess() { - conversation.setContactJid(joinJid); - databaseBackend.updateConversation(conversation); - Bookmark bookmark = conversation.getBookmark(); - if (bookmark != null) { - bookmark.setNick(nick); - pushBookmarks(bookmark.getAccount()); - } callback.success(conversation); } |