Files
tubestation/mobile/android/android-components/components/browser/state
Sebastian Kaspari 39cb5fa192 [components] Issue https://github.com/mozilla-mobile/android-components/issues/8744: Save search engine ID and name when user selects search engine.
There are two reasons why we need the name in addition to the ID:
* When the user switches to a new "home" region then the previously selected search engine ID may no longer be in the
  list. However there may be a different version of that search engine with a different ID for this region. In this
  case we want to select that search engine - since for the user there's no visible difference. A famous example of
  that is "Google", which may have different IDs / search plugins depending on region.
* Fenix saves the search engine name and we need to import that.

Fenix (as well as Fennec) already used the name, so it should be safe to pick the selected search engine based on
the name of the search engine.
2020-11-03 08:45:55 +00:00
..

Android Components > Browser > State

🔴 Note: This is an experimental component still under development. APIs may change at any time. It's not recommended to directly use this component in products yet.

The browser-state component is responsible for maintaining the centralized state of a browser engine.

The immutable BrowserState can be accessed and observed via the BrowserStore. Apps and other components can dispatch Actions on the store in order to trigger the creation of a new BrowserState.

Patterns and concepts this component uses are heavily inspired by Redux. Therefore the Redux documentation is an excellent resource for learning about some of those concepts.

Usage

Setting up the dependency

Use Gradle to download the library from maven.mozilla.org (Setup repository):

implementation "org.mozilla.components:browser-state:{latest-version}

License

This Source Code Form is subject to the terms of the Mozilla Public
License, v. 2.0. If a copy of the MPL was not distributed with this
file, You can obtain one at http://mozilla.org/MPL/2.0/