[android-components](../../index.md) / [mozilla.components.feature.awesomebar](../index.md) / [AwesomeBarFeature](./index.md)

# AwesomeBarFeature

`class AwesomeBarFeature` [(source)](https://github.com/mozilla-mobile/android-components/blob/master/components/feature/awesomebar/src/main/java/mozilla/components/feature/awesomebar/AwesomeBarFeature.kt#L36)

Connects an [AwesomeBar](../../mozilla.components.concept.awesomebar/-awesome-bar/index.md) with a [Toolbar](../../mozilla.components.concept.toolbar/-toolbar/index.md) and allows adding multiple [AwesomeBar.SuggestionProvider](../../mozilla.components.concept.awesomebar/-awesome-bar/-suggestion-provider/index.md) implementations.

### Constructors

| Name | Summary |
|---|---|
| [&lt;init&gt;](-init-.md) | `AwesomeBarFeature(awesomeBar: `[`AwesomeBar`](../../mozilla.components.concept.awesomebar/-awesome-bar/index.md)`, toolbar: `[`Toolbar`](../../mozilla.components.concept.toolbar/-toolbar/index.md)`, engineView: `[`EngineView`](../../mozilla.components.concept.engine/-engine-view/index.md)`? = null, icons: `[`BrowserIcons`](../../mozilla.components.browser.icons/-browser-icons/index.md)`? = null, indicatorIcon: <ERROR CLASS>? = null, onEditStart: () -> `[`Unit`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)` = null, onEditComplete: () -> `[`Unit`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)` = null)`<br>Connects an [AwesomeBar](../../mozilla.components.concept.awesomebar/-awesome-bar/index.md) with a [Toolbar](../../mozilla.components.concept.toolbar/-toolbar/index.md) and allows adding multiple [AwesomeBar.SuggestionProvider](../../mozilla.components.concept.awesomebar/-awesome-bar/-suggestion-provider/index.md) implementations. |

### Functions

| Name | Summary |
|---|---|
| [addClipboardProvider](add-clipboard-provider.md) | `fun addClipboardProvider(context: <ERROR CLASS>, loadUrlUseCase: `[`LoadUrlUseCase`](../../mozilla.components.feature.session/-session-use-cases/-load-url-use-case/index.md)`, engine: `[`Engine`](../../mozilla.components.concept.engine/-engine/index.md)`? = null): `[`AwesomeBarFeature`](./index.md)<br>Add a [AwesomeBar.SuggestionProvider](../../mozilla.components.concept.awesomebar/-awesome-bar/-suggestion-provider/index.md) for clipboard items to the [AwesomeBar](../../mozilla.components.concept.awesomebar/-awesome-bar/index.md). |
| [addHistoryProvider](add-history-provider.md) | `fun addHistoryProvider(historyStorage: `[`HistoryStorage`](../../mozilla.components.concept.storage/-history-storage/index.md)`, loadUrlUseCase: `[`LoadUrlUseCase`](../../mozilla.components.feature.session/-session-use-cases/-load-url-use-case/index.md)`, engine: `[`Engine`](../../mozilla.components.concept.engine/-engine/index.md)`? = null): `[`AwesomeBarFeature`](./index.md)<br>Add a [AwesomeBar.SuggestionProvider](../../mozilla.components.concept.awesomebar/-awesome-bar/-suggestion-provider/index.md) for browsing history to the [AwesomeBar](../../mozilla.components.concept.awesomebar/-awesome-bar/index.md). |
| [addSearchActionProvider](add-search-action-provider.md) | `fun addSearchActionProvider(searchEngineGetter: suspend () -> `[`SearchEngine`](../../mozilla.components.browser.search/-search-engine/index.md)`, searchUseCase: `[`SearchUseCase`](../../mozilla.components.feature.search/-search-use-cases/-search-use-case/index.md)`, icon: <ERROR CLASS>? = null, showDescription: `[`Boolean`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)` = false): `[`AwesomeBarFeature`](./index.md)<br>Adds an [AwesomeBar.SuggestionProvider](../../mozilla.components.concept.awesomebar/-awesome-bar/-suggestion-provider/index.md) implementation that always returns a suggestion that mirrors the entered text and invokes a search with the given [SearchEngine](../../mozilla.components.browser.search/-search-engine/index.md) if clicked. |
| [addSearchProvider](add-search-provider.md) | `fun addSearchProvider(searchEngine: `[`SearchEngine`](../../mozilla.components.browser.search/-search-engine/index.md)`, searchUseCase: `[`SearchUseCase`](../../mozilla.components.feature.search/-search-use-cases/-search-use-case/index.md)`, fetchClient: `[`Client`](../../mozilla.components.concept.fetch/-client/index.md)`, limit: `[`Int`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` = 15, mode: `[`Mode`](../../mozilla.components.feature.awesomebar.provider/-search-suggestion-provider/-mode/index.md)` = SearchSuggestionProvider.Mode.SINGLE_SUGGESTION, engine: `[`Engine`](../../mozilla.components.concept.engine/-engine/index.md)`? = null, filterExactMatch: `[`Boolean`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)` = false): `[`AwesomeBarFeature`](./index.md)<br>Adds a [AwesomeBar.SuggestionProvider](../../mozilla.components.concept.awesomebar/-awesome-bar/-suggestion-provider/index.md) for search engine suggestions to the [AwesomeBar](../../mozilla.components.concept.awesomebar/-awesome-bar/index.md).`fun addSearchProvider(context: <ERROR CLASS>, searchEngineManager: `[`SearchEngineManager`](../../mozilla.components.browser.search/-search-engine-manager/index.md)`, searchUseCase: `[`SearchUseCase`](../../mozilla.components.feature.search/-search-use-cases/-search-use-case/index.md)`, fetchClient: `[`Client`](../../mozilla.components.concept.fetch/-client/index.md)`, limit: `[`Int`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` = 15, mode: `[`Mode`](../../mozilla.components.feature.awesomebar.provider/-search-suggestion-provider/-mode/index.md)` = SearchSuggestionProvider.Mode.SINGLE_SUGGESTION, engine: `[`Engine`](../../mozilla.components.concept.engine/-engine/index.md)`? = null, filterExactMatch: `[`Boolean`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)` = false): `[`AwesomeBarFeature`](./index.md)<br>Adds a [AwesomeBar.SuggestionProvider](../../mozilla.components.concept.awesomebar/-awesome-bar/-suggestion-provider/index.md) for search engine suggestions to the [AwesomeBar](../../mozilla.components.concept.awesomebar/-awesome-bar/index.md). If the default search engine is to be used for fetching search engine suggestions then this method is preferable over [addSearchProvider](add-search-provider.md), as it will lazily load the default search engine using the provided [SearchEngineManager](../../mozilla.components.browser.search/-search-engine-manager/index.md). |
| [addSessionProvider](add-session-provider.md) | `fun addSessionProvider(resources: <ERROR CLASS>, store: `[`BrowserStore`](../../mozilla.components.browser.state.store/-browser-store/index.md)`, selectTabUseCase: `[`SelectTabUseCase`](../../mozilla.components.feature.tabs/-tabs-use-cases/-select-tab-use-case/index.md)`): `[`AwesomeBarFeature`](./index.md)<br>Add a [AwesomeBar.SuggestionProvider](../../mozilla.components.concept.awesomebar/-awesome-bar/-suggestion-provider/index.md) for "Open tabs" to the [AwesomeBar](../../mozilla.components.concept.awesomebar/-awesome-bar/index.md). |

### Extension Functions

| Name | Summary |
|---|---|
| [loadResourceAsString](../../mozilla.components.support.test.file/kotlin.-any/load-resource-as-string.md) | `fun `[`Any`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)`.loadResourceAsString(path: `[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`): `[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)<br>Loads a file from the resources folder and returns its content as a string object. |
