From 6f4061521657d1c31bbf28c3b8b3efc4eb59138f Mon Sep 17 00:00:00 2001 From: Christian Schneppe Date: Thu, 13 Apr 2017 22:02:53 +0200 Subject: properly unregister bookmark from conversations when deleting bookmark --- src/main/java/de/pixart/messenger/entities/Bookmark.java | 1 + src/main/java/de/pixart/messenger/entities/Conversation.java | 1 + src/main/java/de/pixart/messenger/ui/ConferenceDetailsActivity.java | 3 ++- 3 files changed, 4 insertions(+), 1 deletion(-) (limited to 'src/main/java/de/pixart') diff --git a/src/main/java/de/pixart/messenger/entities/Bookmark.java b/src/main/java/de/pixart/messenger/entities/Bookmark.java index 29f7a3c26..6b4bea4e9 100644 --- a/src/main/java/de/pixart/messenger/entities/Bookmark.java +++ b/src/main/java/de/pixart/messenger/entities/Bookmark.java @@ -172,5 +172,6 @@ public class Bookmark extends Element implements ListItem { if (this.mJoinedConversation != null) { this.mJoinedConversation.deregisterWithBookmark(); } + this.mJoinedConversation = null; } } diff --git a/src/main/java/de/pixart/messenger/entities/Conversation.java b/src/main/java/de/pixart/messenger/entities/Conversation.java index f654902b4..52525e481 100644 --- a/src/main/java/de/pixart/messenger/entities/Conversation.java +++ b/src/main/java/de/pixart/messenger/entities/Conversation.java @@ -817,6 +817,7 @@ public class Conversation extends AbstractEntity implements Blockable, Comparabl if (this.bookmark != null) { this.bookmark.setConversation(null); } + this.bookmark = null; } public Bookmark getBookmark() { diff --git a/src/main/java/de/pixart/messenger/ui/ConferenceDetailsActivity.java b/src/main/java/de/pixart/messenger/ui/ConferenceDetailsActivity.java index 8db6eafd8..2050a6ddc 100644 --- a/src/main/java/de/pixart/messenger/ui/ConferenceDetailsActivity.java +++ b/src/main/java/de/pixart/messenger/ui/ConferenceDetailsActivity.java @@ -506,9 +506,10 @@ public class ConferenceDetailsActivity extends XmppActivity implements OnConvers protected void deleteBookmark() { Account account = mConversation.getAccount(); Bookmark bookmark = mConversation.getBookmark(); - bookmark.unregisterConversation(); + mConversation.deregisterWithBookmark(); account.getBookmarks().remove(bookmark); xmppConnectionService.pushBookmarks(account); + updateView(); } @Override -- cgit v1.2.3