| 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.
|
2178 |
- |
| AccountAbnormalities.kt |
Miscellaneous FxA-related abnormalities. |
6247 |
- |
| accounts |
|
|
- |
| Ads.kt |
Provides access to Mozilla Ads related components. |
628 |
- |
| Analytics.kt |
Component group for all functionality related to analytics e.g. crash reporting and telemetry. |
9312 |
- |
| 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.
|
917 |
- |
| BackgroundServices.kt |
The additional time to wait after the "undo closed tab" snackbar has disappeared before triggering a
[SyncedTabsCommands] flush.
|
14772 |
- |
| 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].
|
1661 |
- |
| ClientUUID.kt |
Interface for providing a hashing function to [ClientUUID]. |
2479 |
- |
| Components.kt |
|
23217 |
- |
| Core.kt |
|
36852 |
- |
| 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.
|
3908 |
- |
| FenixEmailMaskPrompt.kt |
Fenix specific implementation of [EmailMaskPromptView].
@param viewProvider Closure to provide a view of type V where V is a [View] and [EmailMaskPromptView].
@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.
|
2173 |
- |
| 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]
|
3241 |
- |
| 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 findInPageHeight The height of 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.
|
3870 |
- |
| FxaServer.kt |
Utility to configure Firefox Account servers. |
1214 |
- |
| FxSuggest.kt |
Component group for Firefox Suggest.
@param context The Android application context.
@param remoteSettingsService: Remote settings service to get suggestions from
@param crashReporter The crash reporter to use for reporting caught exceptions.
|
1238 |
- |
| 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.
|
3457 |
- |
| history |
|
|
- |
| HomepageAsANewTabPreferencesRepository.kt |
The repository for managing the homepage as a new tab preference. |
925 |
- |
| HomepageThumbnailIntegration.kt |
Homepage delegate to take screenshot of homepage when view loads and display as a thumbnail in tabs tray.
@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.
@param homepageContentBounds Lamba that provides the bounds of the homepage content (excluding the toolbar and system
bar padding) within [view], used to crop the screenshot to the content only. Returns null when the bounds are
unknown, in which case the full [view] is captured.
|
4553 |
- |
| IntentProcessors.kt |
Component group for miscellaneous components. |
3494 |
- |
| IntentProcessorType.kt |
The destination activity based on this intent |
1981 |
- |
| ipprotection |
|
|
- |
| lens |
|
|
- |
| LensFeature.kt |
Handles Google Lens image search requests and results.
- Observes Lens requests from the AppStore.
- Launches the Lens camera screen and uploads the selected image.
- Dispatches the resulting Lens URL back to AppStore.
|
10895 |
- |
| LensFileProvider.kt |
FileProvider used to share images with Google Lens. |
386 |
- |
| LensImageUploader.kt |
Handles image processing and upload to Google Lens. |
12643 |
- |
| llm |
|
|
- |
| LogMiddleware.kt |
A simple generic middleware that will log actions that pass through the Store it is attached to. Default
implementations will use [Logger], which should output through logcat in debug builds.
NOTE: when [shouldIncludeDetailedData] is true, potentially sensitive data will be recorded even in release builds.
It will not be sent to logcat by default, but it may still be extractable by external tools. Use caution when
enabling this.
|
1521 |
- |
| 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.
|
1780 |
- |
| NimbusComponents.kt |
Component group for access to Nimbus and other Nimbus services. |
4625 |
- |
| NotificationManager.kt |
Manages notification channels and allows displaying different types of notifications.
@param context The Android application context.
@param currentTimeMillis provider for the current time in milliseconds, injectable for testing.
|
10333 |
- |
| PerformanceComponent.kt |
Component group for all functionality related to performance. |
2632 |
- |
| 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.
|
3396 |
- |
| PlayStoreReviewPromptController.kt |
Wraps the Play Store In-App Review API. |
6747 |
- |
| PrivateShortcutCreateManager.kt |
Interface for creating [PendingIntent]s. This interface is used to abstract the creation of PendingIntents, allowing
for easier testing and dependency injection.
|
6178 |
- |
| ProfileMarkerMiddleware.kt |
A generic middleware that can be attached to a Store to log every action that is processed by that store. The
standard message format will use [markerName] as a qualifier and the action name as a detail message.
|
1516 |
- |
| Push.kt |
Component group for push services. These components use services that strongly depend on push messaging (e.g.
WebPush, SendTab).
|
2514 |
- |
| QrScanFenixFeature.kt |
Handles QR Scan Activity requests and results.
- Observes QR scan requests from the AppStore.
- Launches QR scan activity 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 QR scan results and update their own state
accordingly.
|
8213 |
- |
| search |
|
|
- |
| Services.kt |
Component group which encapsulates foreground-friendly services. |
2261 |
- |
| settings |
|
|
- |
| SettingsSearchProviders.kt |
Builds the list of [SettingsSearchProvider]s covering settings the XML-parsing path in
[org.mozilla.fenix.settings.settingssearch.DefaultFenixSettingsIndexer] cannot reach: Compose screens with no backing
preference file, and entries inside an XML screen that the parser does not emit (an empty `PreferenceCategory` whose
contents are built in code, for instance).
This is the source of truth for which providers exist. It is wired into the settings indexer from [Components] and is
exercised by `SettingsSearchProviderRegistrationTest` so that a screen losing its provider fails a test rather than
silently disappearing from settings search.
@param summarizationFeatureConfiguration Gates whether the Page Summaries screen is indexed.
@param isFirefoxLabsEnabled Returns whether Firefox Labs is currently enabled.
|
2104 |
- |
| share |
|
|
- |
| ShortcutManagerCompatWrapper.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.
|
3098 |
- |
| 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.
|
3760 |
- |
| SummarizationSettingsCache.kt |
Eagerly mirrors the user's [SummarizationSettings] preferences into hot [StateFlow]s so the UI can read the latest
value synchronously via `.value` instead of showing a placeholder while the underlying DataStore flow loads.
Persistence still goes through [settings].
|
1607 |
- |
| TabCollectionStorage.kt |
Interface to be implemented by classes that want to observe the storage |
4667 |
- |
| toolbar |
|
|
- |
| TrackingProtectionPolicyFactory.kt |
Handles the logic behind creating new [TrackingProtectionPolicy]s. |
6610 |
- |
| usecases |
|
|
- |
| UseCases.kt |
Component group for all use cases. Use cases are provided by feature modules and can be triggered by UI interactions.
|
7967 |
- |
| 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.
|
5403 |
- |