Files
tubestation/mobile/android/android-components/components/browser/state
ohall-m 6deba21e0b Bug 1892743 - Add Global Translations Offer AC Options r=android-reviewers,giorga
Right now, it is only possible to access the “offer to translate” setting off of page settings. Unlike most of the other page settings, this setting is also a global setting.
This patch adds an option to view this setting independently of page settings and helps keep it in sync, when page settings change this setting as well.

We need this because it will soon be possible to access the global settings layer of settings directly via the main menu settings.

This patch:
* Adds `SetGlobalOfferTranslateSettingAction` - Sets the `offerTranslation` value on the global `TranslationsBrowserState`. Intended for global usage.
* Adds `UpdateGlobalOfferTranslateSettingAction` - A global way to update the offer to translate value outside of a page.
* Adds `TranslationOperation.FETCH_OFFER_SETTING` - The same as `SetGlobalOfferTranslateSettingAction`, but for a tab. Intended for tab usage.
* Adds a call to set `offerTranslation` on `Init`

Differential Revision: https://phabricator.services.mozilla.com/D208233
2024-04-24 13:31:05 +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/