fune/mobile/android/android-components/components/browser/state
ohall-m bf47078f54 Bug 1877203 - Update Translations Page Settings
The goal of this bug is to have a way to update page settings.

It adds:
* A new action, `UpdatePageSettingAction`
  * This action has four options:
     * `UPDATE_ALWAYS_OFFER_POPUP`
     * `UPDATE_ALWAYS_TRANSLATE_LANGUAGE`
     * `UPDATE_NEVER_TRANSLATE_LANGUAGE`
     * `UPDATE_NEVER_TRANSLATE_SITE`
* Each operation eagerly sets the new setting on the browser store, then
sends the request to the engine. If setting on the engine fails, then
they will re-request the page settings in order to remain in-sync.
2024-02-13 23:34:22 +00:00
..
src Bug 1877203 - Update Translations Page Settings 2024-02-13 23:34:22 +00:00
build.gradle Bug 1858542 - Introduce AwesomeBarState and Suggestion.metadata. 2023-10-24 07:43:07 +00:00
proguard-rules.pro [components] Issue https://github.com/mozilla-mobile/android-components/issues/1843: Introduce experimental (unpublished) browser-state component. 2019-04-18 17:15:52 -04:00
README.md [components] Complete migration from browser-session to browser-state. 2021-06-08 14:44:09 +00:00

Android Components > Browser > State

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/