AboutHomeMiddleware.kt |
[Middleware] implementation for overriding the title of the "about:home" homepage tab with the
provided [homepageTitle].
@param homepageTitle The title of the homepage tab.
|
1622 |
AccountAbnormalities.kt |
Miscellaneous FxA-related abnormalities.
|
6314 |
accounts |
|
|
Analytics.kt |
Component group for all functionality related to analytics e.g. crash reporting and telemetry.
|
7920 |
appstate |
|
|
AppStore.kt |
A [Store] that holds the [AppState] for the app and reduces [AppAction]s
dispatched to the store.
This store is not persisted to disk and is scoped to the life-cycle of the application.
|
920 |
BackgroundServices.kt |
The additional time to wait after the "undo closed tab" snackbar has
disappeared before triggering a [SyncedTabsCommands] flush.
|
14648 |
bookmarks |
|
|
ChangeDetectionMiddleware.kt |
A Middleware for detecting changes to a state property, and offering a callback that captures the action that changed
the property, the property before the change, and the property after the change.
For example, this can be useful for debugging:
```
val selectedTabChangedMiddleware: Middleware<BrowserState, BrowserAction> = ChangeDetectionMiddleware(
val selector = { it.selectedTabId }
val onChange = { actionThatCausedResult, preResult, postResult ->
logger.debug("$actionThatCausedResult changed selectedTabId from $preResult to $postResult")
}
```
@param selector A function to map from the State to the properties that are being inspected.
@param onChange A callback to react to changes to the properties defined by [selector].
|
1703 |
Components.kt |
Provides access to all components. This class is an implementation of the Service Locator
pattern, which helps us manage the dependencies in our app.
Note: these aren't just "components" from "android-components": they're any "component" that
can be considered a building block of our app.
|
14905 |
Core.kt |
|
33711 |
FenixAutocompletePrompt.kt |
Fenix specific implementation of [AutocompletePrompt]. This class accomplishes two things:
1. Allows us to add Fenix specific CoordinatorLayout behavior when a prompt is presented.
2. The `PromptFeature` delegates require an [AutocompletePrompt] on initialization.
With Bug 1947519 we need to have the ability to delay creating the view until we need it.
This class allows us to pass a concrete [AutocompletePrompt] to the `PromptFeature` and lazily
initialize the view.
@param viewProvider Closure to provide a view of type V where V is a View AND an [AutocompletePrompt].
@param toolbarPositionProvider Closure to provide the current [ToolbarPosition].
@param onShow callback that is called when the prompt is presented.
@param onHide callback that is called when the prompt is dismissed.
|
4037 |
FenixSuggestStrongPasswordPrompt.kt |
Fenix specific implementation of [PasswordPromptView]. This class accomplishes two things:
1. Allows us to add Fenix specific CoordinatorLayout behavior when a prompt is presented.
2. The `PromptFeature` delegates require a [PasswordPromptView] on initialization.
With Bug 1947519 we need to have the ability to delay creating the view until we need it.
This class allows us to pass a concrete [PasswordPromptView] to the `PromptFeature` and lazily
initialize the view.
@param viewProvider Closure to provide a view of type V where V is a View AND an [PasswordPromptView].
@param toolbarPositionProvider Closure to provide the current [ToolbarPosition].
@param onShow callback that is called when the prompt is presented.
@param onHide callback that is called when the prompt is dismissed.
@see [FenixAutocompletePrompt]
|
3147 |
FindInPageIntegration.kt |
BrowserFragment delegate to handle all layout updates needed to show or hide the find in page bar.
@param store The [BrowserStore] used to look up the current selected tab.
@param appStore The [AppStore] used to update the [AppState.showFindInPage] state.
@param sessionId ID of the [store] session in which the query will be performed.
@param view The [FindInPageBar] view to display.
@param engineView the browser in which the queries will be made and which needs to be better positioned
to suit the find in page bar.
@param toolbarsHideCallback Callback to hide all toolbars to ensure an unobstructed browser page
in which to search and present results.
@param toolbarsResetCallback Callback to reset the toolbars to how they should be displayed
after this feature is dismissed.
@param findInPageHeight The height of the find in page bar.
|
3973 |
FxaServer.kt |
Utility to configure Firefox Account servers.
|
1199 |
FxSuggest.kt |
Component group for Firefox Suggest.
@param context The Android application context.
@param remoteSettingsService: Remote settings service to get suggestions from
|
1022 |
GleanHelper.kt |
Helper function to initialize Glean.
[applicationContext] the application context required for glean initialization.
[logger] the logger to send logs about initializing Glean.
[isTelemetryUploadEnabled] indicate if telemetry should be enabled to be uploaded.
[client] an instance of [Client] used to upload metrics.
|
3013 |
history |
|
|
HomepageThumbnailIntegration.kt |
HomeFragment delegate to take screenshot of homepage when view loads and display as a thumbnail in tabstray.
@param context A [Context] used to check for low memory.
@param view The [View] to take screenshot of.
@param store The [BrowserStore] used to look up the current selected tab.
@param appStore The [AppStore] used to look up the current browsing mode.
|
3276 |
IntentProcessors.kt |
Component group for miscellaneous components.
|
3488 |
IntentProcessorType.kt |
The destination activity based on this intent
|
1861 |
menu |
|
|
metrics |
|
|
MetricsServiceHelper.kt |
Helper function to start metric services if they are enabled.
@param logger the logger to send logs about metrics service start.
@param analytics [Analytics] component to be started if needed.
@param isTelemetryEnabled indicate if the telemetry metric should be started.
@param isMarketingTelemetryEnabled indicate if the marketing metric should be started.
@param isDailyUsagePingEnabled indicate if the daily usage ping metric should be started.
|
1562 |
NimbusComponents.kt |
Component group for access to Nimbus and other Nimbus services.
|
3850 |
NotificationManager.kt |
Manages notification channels and allows displaying different types of notifications.
|
9499 |
PerformanceComponent.kt |
Component group for all functionality related to performance.
|
2687 |
PermissionStorage.kt |
Persists the [sitePermissions] provided as a parameter.
@param sitePermissions The [SitePermissions] to be stored.
@param private Indicates if the [SitePermissions] belongs to a private session.
|
3361 |
PlayStoreReviewPromptController.kt |
Wraps the Play Store In-App Review API.
|
4656 |
PrivateShortcutCreateManager.kt |
A wrapper for ShortcutManagerCompat to simplify testing.
This interface abstracts the static methods of ShortcutManagerCompat,
allowing for easier mocking and verification in unit tests.
|
7922 |
Push.kt |
Component group for push services. These components use services that strongly depend on
push messaging (e.g. WebPush, SendTab).
|
2463 |
search |
|
|
Services.kt |
Component group which encapsulates foreground-friendly services.
|
2035 |
settings |
|
|
SnackbarBehavior.kt |
[CoordinatorLayout.Behavior] to be used by a snackbar that want to ensure it it always positioned
such that it will be shown on top (vertically) of other siblings that may obstruct it's view.
@param context [Context] used for various system interactions.
@property toolbarPosition Where the toolbar is positioned on the screen.
Depending on it's position (top / bottom) the snackbar will be shown below / above the toolbar.
@param shouldUseExpandedToolbar Whether the expanded toolbar layout should be used.
|
3767 |
StartupMiddleware.kt |
[Middleware] implementation for adding a homepage tab during application startup to ensure that
a tab is always available.
@param applicationContext The application [Context].
@param repository [HomepageAsANewTabPreferencesRepository] used to access the homepage as a
new tab preferences.
|
2411 |
StoreProvider.kt |
Generic ViewModel wrapper of a [Store] helping to persist it across process/activity recreations.
@param createStore [Store] factory receiving also the [ViewModel.viewModelScope] associated with this [ViewModel].
|
2939 |
TabCollectionStorage.kt |
Interface to be implemented by classes that want to observe the storage
|
4580 |
toolbar |
|
|
TrackingProtectionPolicyFactory.kt |
Handles the logic behind creating new [TrackingProtectionPolicy]s.
|
6943 |
usecases |
|
|
UseCases.kt |
Component group for all use cases. Use cases are provided by feature
modules and can be triggered by UI interactions.
|
5846 |
VoiceSearchFeature.kt |
A generic feature for handling voice search requests and results.
- Observes voice search requests from the AppStore.
- Launches voice recognition and updates AppStore with the result.
- Does NOT update any UI or toolbar state directly.
Other features (such as toolbar middleware) should observe AppStore for
voice search results and update their own state accordingly.
|
3355 |