diff --git a/app/src/main/java/org/mozilla/fenix/components/history/PagedHistoryProvider.kt b/app/src/main/java/org/mozilla/fenix/components/history/PagedHistoryProvider.kt index efd7540b2f..e94b1989f6 100644 --- a/app/src/main/java/org/mozilla/fenix/components/history/PagedHistoryProvider.kt +++ b/app/src/main/java/org/mozilla/fenix/components/history/PagedHistoryProvider.kt @@ -108,7 +108,7 @@ class DefaultPagedHistoryProvider( /** * Removes [group] and any corresponding history visits. */ - suspend fun deleteHistoryGroup(group: History.Group) { + suspend fun deleteMetadataSearchGroup(group: History.Group) { for (historyMetadata in group.items) { getMatchingHistory(historyMetadata)?.let { historyStorage.deleteVisit( diff --git a/app/src/main/java/org/mozilla/fenix/library/history/HistoryFragment.kt b/app/src/main/java/org/mozilla/fenix/library/history/HistoryFragment.kt index 26197a3eae..fa24a045be 100644 --- a/app/src/main/java/org/mozilla/fenix/library/history/HistoryFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/library/history/HistoryFragment.kt @@ -22,6 +22,7 @@ import kotlinx.coroutines.Dispatchers.IO import kotlinx.coroutines.Dispatchers.Main import kotlinx.coroutines.launch import mozilla.components.browser.state.action.EngineAction +import mozilla.components.browser.state.action.HistoryMetadataAction import mozilla.components.browser.state.action.RecentlyClosedAction import mozilla.components.browser.state.store.BrowserStore import mozilla.components.concept.engine.prompt.ShareData @@ -357,7 +358,13 @@ class HistoryFragment : LibraryPageFragment(), UserInteractionHandler { when (item) { is History.Regular -> core.historyStorage.deleteVisit(item.url, item.visitedAt) - is History.Group -> historyProvider.deleteHistoryGroup(item) + is History.Group -> { + // NB: If we have non-search groups, this logic needs to be updated. + historyProvider.deleteMetadataSearchGroup(item) + core.store.dispatch( + HistoryMetadataAction.DisbandSearchGroupAction(searchTerm = item.title) + ) + } // We won't encounter individual metadata entries outside of groups. is History.Metadata -> {} }