Name Description Size
ADM.kt Extends [AbstractAmazonPushService], which overrides the callbacks used to communicate with [ADMReceiver]. 691
ADMIntegration.kt All Amazon Device Messaging (ADM) API calls should be done here. This class checks that the device supports ADM before trying to use it. When adding new functionality, do not forget to check [isADMAvailable] first. When running on emulator or any device not supporting ADM and Instant Run is enabled, you may see ClassNotFound log warnings - these can be safely ignored. 3126
FxaLoginUseCase.kt Manages login with a Firefox Account (FxA). To begin the login flow, we call [beginLogin]: this loads the login page into the engine view. This login page does the heavy lifting: most error states (e.g. invalid credentials) are handled in the engine view and are not reported to us. On success, our observer in this class transmits the results from the engine view back to the FxA library. After that, control of FxA state is returned to the [fxaRepo]. This class is designed to allows repos to interact with each other without references to each other, allowing each repo to operate independently of other repos, simplifying state. FxaRepo SessionRepo | | ------------ | FxaLoginUseCase 5491
FxaProfile.kt A wrapper for [Profile]. This insulates us from any upstream changes to the API, and allows us to validate related data at the edge of our app. Note that [Profile] has additional fields not reflected in [FxaProfile] (namely [Profile.uid] and [Profile.email]). These are not currently required by our app, but can be added if that ever changes. 2367
FxaReceivedTab.kt A data container for tabs received from a single device via FxA. While we currently support only one tab, this container can actually contain multiple received tabs. This container exists to avoid exposing the underlying [DeviceEvent.TabReceived] events to consumers. @param [tabReceivedNotificationText] If possible, this will describe where the tab came from (e.g., "Sent from Severin's Pixel 2"). If we don't know those details, it will be more vague (e.g., "Tab received") 3090
FxaRepo.kt Manages Firefox Account (FxA) state. In particular, [accountState] exposes the current sign in state of the user. If you want to initiate sign in, see [FxaLoginUseCase.beginLogin]. Devs should use this class rather than interacting with the FxA library directly. 9726