fune/mobile/android/android-components/components/browser/state
Sebastian Kaspari d2600f3328 [components] Closes https://github.com/mozilla-mobile/android-components/issues/9151: Refactor feature-pwa to not depend on browser-session anymore.
Again, multiple things in this PR:

* Migrated WebAppIntentProcessor and TrustedWebActivityIntentProcessor to use TabsUseCases instead of
  SessionManager directly.
* Migrated one LoadUrlUseCase to take a session ID instead of a `Session` instance as parameter
* Extended TabsUseCases to optionally accept a CustomTabConfig and/or WebAppManifest

I think with that we may even be able to remove WebAppManifest from `Session`. I'll look into this next.
2020-12-08 15:47:51 +00:00
..
src [components] Closes https://github.com/mozilla-mobile/android-components/issues/9151: Refactor feature-pwa to not depend on browser-session anymore. 2020-12-08 15:47:51 +00:00
build.gradle [components] Closes https://github.com/mozilla-mobile/android-components/issues/8312:Adds support for ContentDelegate#onExternalResponse 2020-10-05 17:32:38 +00:00
proguard-rules.pro
README.md [components] Update dependency section for browser-state docs 2019-05-30 21:29:12 -04: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/