From 4422e3ed399281b6ea4761c0c3f5e4285228e9c6 Mon Sep 17 00:00:00 2001 From: cesar Date: Sat, 23 Nov 2019 17:58:16 -0300 Subject: [PATCH] Closes #6731 - fixed BookmarkNode minus operator and deleteOperation --- app/src/main/java/org/mozilla/fenix/ext/BookmarkNode.kt | 6 +++++- .../org/mozilla/fenix/library/bookmarks/BookmarkFragment.kt | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/org/mozilla/fenix/ext/BookmarkNode.kt b/app/src/main/java/org/mozilla/fenix/ext/BookmarkNode.kt index 542e5c9000..46c9319d41 100644 --- a/app/src/main/java/org/mozilla/fenix/ext/BookmarkNode.kt +++ b/app/src/main/java/org/mozilla/fenix/ext/BookmarkNode.kt @@ -15,5 +15,9 @@ val Context.bookmarkStorage: PlacesBookmarksStorage * Removes [children] from [BookmarkNode.children] and returns the new modified [BookmarkNode]. */ operator fun BookmarkNode.minus(children: Set): BookmarkNode { - return this.copy(children = this.children?.filter { it !in children }) + return this.copy(children = this.children?.filter { filtered -> + children.none { + it.guid == filtered.guid + } + }) } diff --git a/app/src/main/java/org/mozilla/fenix/library/bookmarks/BookmarkFragment.kt b/app/src/main/java/org/mozilla/fenix/library/bookmarks/BookmarkFragment.kt index 7ffde80c9a..3231c7b5a0 100644 --- a/app/src/main/java/org/mozilla/fenix/library/bookmarks/BookmarkFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/library/bookmarks/BookmarkFragment.kt @@ -254,7 +254,7 @@ class BookmarkFragment : LibraryPageFragment(), UserInteractionHan bookmarkInteractor.onBookmarksChanged(bookmarkTree) val deleteOperation: (suspend () -> Unit) = { - deleteSelectedBookmarks(selected) + deleteSelectedBookmarks(pendingBookmarksToDelete) pendingBookmarkDeletionJob = null // Since this runs in a coroutine, we can't depend upon the fragment still being attached metrics?.track(Event.RemoveBookmarks)