For #20259 - Add HistoryMetadataSuggestionProvider in AwesomeBar

upstream-sync
Gabriel Luong 3 years ago committed by mergify[bot]
parent 9b22b2baa4
commit 973070ab50

@ -14,6 +14,7 @@ import mozilla.components.browser.state.state.searchEngines
import mozilla.components.concept.awesomebar.AwesomeBar import mozilla.components.concept.awesomebar.AwesomeBar
import mozilla.components.concept.engine.EngineSession import mozilla.components.concept.engine.EngineSession
import mozilla.components.feature.awesomebar.provider.BookmarksStorageSuggestionProvider import mozilla.components.feature.awesomebar.provider.BookmarksStorageSuggestionProvider
import mozilla.components.feature.awesomebar.provider.HistoryMetadataSuggestionProvider
import mozilla.components.feature.awesomebar.provider.HistoryStorageSuggestionProvider import mozilla.components.feature.awesomebar.provider.HistoryStorageSuggestionProvider
import mozilla.components.feature.awesomebar.provider.SearchActionProvider import mozilla.components.feature.awesomebar.provider.SearchActionProvider
import mozilla.components.feature.awesomebar.provider.SearchEngineSuggestionProvider import mozilla.components.feature.awesomebar.provider.SearchEngineSuggestionProvider
@ -25,6 +26,7 @@ import mozilla.components.feature.syncedtabs.DeviceIndicators
import mozilla.components.feature.syncedtabs.SyncedTabsStorageSuggestionProvider import mozilla.components.feature.syncedtabs.SyncedTabsStorageSuggestionProvider
import mozilla.components.feature.tabs.TabsUseCases import mozilla.components.feature.tabs.TabsUseCases
import mozilla.components.support.ktx.android.content.getColorFromAttr import mozilla.components.support.ktx.android.content.getColorFromAttr
import org.mozilla.fenix.FeatureFlags
import org.mozilla.fenix.HomeActivity import org.mozilla.fenix.HomeActivity
import org.mozilla.fenix.R import org.mozilla.fenix.R
import org.mozilla.fenix.browser.browsingmode.BrowsingMode import org.mozilla.fenix.browser.browsingmode.BrowsingMode
@ -44,6 +46,7 @@ class AwesomeBarView(
) { ) {
private val sessionProvider: SessionSuggestionProvider private val sessionProvider: SessionSuggestionProvider
private val historyStorageProvider: HistoryStorageSuggestionProvider private val historyStorageProvider: HistoryStorageSuggestionProvider
private val historyMetadataProvider: HistoryMetadataSuggestionProvider
private val shortcutsEnginePickerProvider: ShortcutsSuggestionProvider private val shortcutsEnginePickerProvider: ShortcutsSuggestionProvider
private val bookmarksStorageSuggestionProvider: BookmarksStorageSuggestionProvider private val bookmarksStorageSuggestionProvider: BookmarksStorageSuggestionProvider
private val syncedTabsStorageSuggestionProvider: SyncedTabsStorageSuggestionProvider private val syncedTabsStorageSuggestionProvider: SyncedTabsStorageSuggestionProvider
@ -117,6 +120,15 @@ class AwesomeBarView(
engineForSpeculativeConnects engineForSpeculativeConnects
) )
historyMetadataProvider =
HistoryMetadataSuggestionProvider(
historyStorage = components.core.historyStorage,
loadUrlUseCase = loadUrlUseCase,
icons = components.core.icons,
engine = engineForSpeculativeConnects,
maxNumberOfSuggestions = METADATA_SUGGESTION_LIMIT
)
bookmarksStorageSuggestionProvider = bookmarksStorageSuggestionProvider =
BookmarksStorageSuggestionProvider( BookmarksStorageSuggestionProvider(
bookmarksStorage = components.core.bookmarksStorage, bookmarksStorage = components.core.bookmarksStorage,
@ -238,7 +250,11 @@ class AwesomeBarView(
val providersToAdd = mutableSetOf<AwesomeBar.SuggestionProvider>() val providersToAdd = mutableSetOf<AwesomeBar.SuggestionProvider>()
if (state.showHistorySuggestions) { if (state.showHistorySuggestions) {
providersToAdd.add(historyStorageProvider) if (FeatureFlags.historyMetadataFeature) {
providersToAdd.add(historyMetadataProvider)
} else {
providersToAdd.add(historyStorageProvider)
}
} }
if (state.showBookmarkSuggestions) { if (state.showBookmarkSuggestions) {
@ -268,7 +284,11 @@ class AwesomeBarView(
providersToRemove.add(shortcutsEnginePickerProvider) providersToRemove.add(shortcutsEnginePickerProvider)
if (!state.showHistorySuggestions) { if (!state.showHistorySuggestions) {
providersToRemove.add(historyStorageProvider) if (FeatureFlags.historyMetadataFeature) {
providersToRemove.add(historyMetadataProvider)
} else {
providersToRemove.add(historyStorageProvider)
}
} }
if (!state.showBookmarkSuggestions) { if (!state.showBookmarkSuggestions) {
@ -348,4 +368,9 @@ class AwesomeBarView(
) )
} }
} }
companion object {
// Maximum number of suggestions returned from the history metadata storage.
const val METADATA_SUGGESTION_LIMIT = 3
}
} }

@ -3,5 +3,5 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
object AndroidComponents { object AndroidComponents {
const val VERSION = "92.0.20210721180104" const val VERSION = "92.0.20210722190406"
} }

Loading…
Cancel
Save