Name Description Size
MainActivityNavigation.kt A helper class that manages fragment-based navigation within [MainActivity]. This class centralizes the logic for creating and switching between different fragments (e.g., home screen, browser, settings, onboarding) using the [FragmentManager]. By encapsulating navigation, it simplifies management and testing. @param supportFragmentManager The [FragmentManager] used to perform fragment transactions. @param onboardingStorage Manages the state and progress of the user onboarding flow. @param isInPictureInPictureMode A lambda that returns whether the activity is currently in PiP mode. @param shouldAnimateHome A lambda that determines if the home screen transition should be animated. @param showStartBrowsingCfr A function to trigger the "start browsing" CFR if applicable. @param onEraseAction A function to potentially trigger the widget promotion. 11349
Navigator.kt The [Navigator] observes changes to the [AppState] and triggers navigation actions based on the current [Screen]. It subscribes to a flow of [AppState], and whenever the [Screen] changes, it calls the appropriate method on the provided [AppNavigation] implementation to navigate the user to the new screen. @param stateFlow A [Flow] that emits the current [AppState]. @param navigation An implementation of [AppNavigation] that handles the actual screen transitions. @param dispatcherScope The [CoroutineScope] in which the state observation will run. Defaults to [MainScope]. 4451
StoreLink.kt Helper for subscribing to the [BrowserStore] and updating the [AppStore] for certain state changes. 1839