This is functionally equivalent to the code before this patch but should
be slightly more performant in theory because ConstraintLayout is
expensive to inflate.
The elevation and layoutParams set dynamically appeared to have no effect
with the wrapping view but broke the view when used by itself so I had
to remove them. I also updated a few other unnecessary params.
Theoretically this may have some perf benefits but I didn't see anything
outside noise levels after I took the numbers (but I didn't try very
hard).
When you remove a search engine from our list, an undo snackbar that outlives the fragment is shown. If you go back to the search fragment and press undo, now the shortcut list gets updated
This removes Fretboard. The goal is to reduce cold startup costs associated with loading the experiments on the main thread. We currently have two experiments frameworks in use and should only require one.
* For #5577 - Adds button to add a new search engine
* For #5577 - Adds custom engine store
* For #5577 - Creates a custom SearchEngineProvider
* For #5577 - Gives the ability to delete search engines
* For #5577 - Adds the UI to add a custom search engine
* For #5577 - Adds form to create a custom search engine
* For #5577 - Adds the ability to add a custom search engine
* For #5577 - Adds the ability to delete custom search engines
* For #5577 - Selects the first element on the add custom search engine screen
* For #5577 - Prevents adding a search engine that already exists
* For #5577 - Styles the add search engine preference
* For #5577 - Makes the name check case-insensitive
* For #5577 - Fix bug where home screen doesnt see new search engines
* For #5577 - Moves Search URL validation to its own type
* For #5577 - Fixes linting errors
* For #5577 - Adds the ability to edit a custom search engine
* For #5577 - Allows the user to edit a serach engine even when it is the last item in the list
* For #5577 - Adds an undo snackbar when deleting a search engine
* For #5577 - Moves all of the strings to be translated
* For #5577 - Fixes bug when deleting your default search engine
* For #5577 - Puts adding search engines behind a feature flag
* For #5577 - Navigate to custom search engine SUMO article when tapping learn more
* For #5577 - Fixes nits
* For #5577 - Uses concept-fetch to validate search string
* For #5577 - Adds string resources for the cannot reach error state