<?xml version="1.0" encoding="utf-8"?>
<navigation xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/nav_graph"
    app:startDestination="@id/homeFragment">

    <action
        android:id="@+id/action_global_browser"
        app:destination="@id/browserFragment"
        app:popUpTo="@id/nav_graph"
        app:popUpToInclusive="true" />

    <action
        android:id="@+id/action_global_external_app_browser"
        app:destination="@id/externalAppBrowserFragment"
        app:popUpTo="@id/nav_graph"
        app:popUpToInclusive="true" />

    <action
        android:id="@+id/action_global_search"
        app:destination="@id/searchFragment"
        app:popUpTo="@id/nav_graph"
        app:popUpToInclusive="true" />

    <action
        android:id="@+id/action_global_crash_reporter"
        app:destination="@id/crashReporterFragment" />

    <action
        android:id="@+id/action_global_turn_on_sync"
        app:destination="@id/turnOnSyncFragment" />

    <action
        android:id="@+id/action_global_settingsFragment"
        app:destination="@id/settingsFragment" />

    <action
        android:id="@+id/action_global_searchEngineFragment"
        app:destination="@id/searchEngineFragment" />

    <action
        android:id="@+id/action_global_accessibilityFragment"
        app:destination="@id/accessibilityFragment" />

    <action
        android:id="@+id/action_global_deleteBrowsingDataFragment"
        app:destination="@id/deleteBrowsingDataFragment" />

    <action
        android:id="@+id/action_global_homeFragment"
        app:destination="@id/homeFragment" />

    <fragment
        android:id="@+id/homeFragment"
        android:name="org.mozilla.fenix.home.HomeFragment"
        tools:layout="@layout/fragment_home">
        <action
            android:id="@+id/action_homeFragment_to_turnOnSyncFragment"
            app:destination="@+id/turnOnSyncFragment" />
        <action
            android:id="@+id/action_homeFragment_to_searchFragment"
            app:destination="@id/searchFragment"
            app:enterAnim="@anim/fade_in"
            app:exitAnim="@anim/fade_out"
            app:popEnterAnim="@anim/fade_in"
            app:popExitAnim="@anim/fade_out" />
        <action
            android:id="@+id/action_homeFragment_to_browserFragment"
            app:destination="@id/browserFragment"
            app:exitAnim="@anim/fade_out"
            app:popEnterAnim="@anim/fade_in" />
        <action
            android:id="@+id/action_homeFragment_to_libraryFragment"
            app:destination="@id/libraryFragment" />
        <action
            android:id="@+id/action_homeFragment_to_bookmarksFragment"
            app:destination="@id/bookmarkFragment" />
        <action
            android:id="@+id/action_homeFragment_to_historyFragment"
            app:destination="@id/historyFragment" />
        <action
            android:id="@+id/action_homeFragment_to_settingsFragment"
            app:destination="@id/settingsFragment" />
        <action
            android:id="@+id/action_homeFragment_to_createCollectionFragment"
            app:destination="@id/collectionCreationFragment" />
        <action
            android:id="@+id/action_homeFragment_to_shareFragment"
            app:destination="@id/shareFragment" />
    </fragment>

    <fragment
        android:id="@+id/searchFragment"
        android:name="org.mozilla.fenix.search.SearchFragment"
        tools:layout="@layout/fragment_search">
        <action
            android:id="@+id/action_searchFragment_to_browserFragment"
            app:destination="@id/browserFragment"
            app:popUpTo="@id/searchFragment"
            app:popUpToInclusive="true" />
        <argument
            android:name="session_id"
            app:argType="string"
            app:nullable="true" />
        <action
            android:id="@+id/action_searchFragment_to_searchEngineFragment"
            app:destination="@id/searchEngineFragment"
            app:popUpTo="@+id/searchFragment" />
        <argument
            android:name="pastedText"
            android:defaultValue="@null"
            app:argType="string"
            app:nullable="true" />
        <argument
            android:name="search_access_point"
            app:argType="org.mozilla.fenix.components.metrics.Event$PerformedSearch$SearchAccessPoint"
            android:defaultValue="NONE" />
    </fragment>

    <fragment
        android:id="@+id/SitePermissionsManagePhoneFeature"
        android:name="org.mozilla.fenix.settings.sitepermissions.SitePermissionsManagePhoneFeatureFragment"
        tools:layout="@layout/fragment_manage_site_permissions_feature_phone">
        <argument
            android:name="permission"
            app:argType="integer" />
    </fragment>

    <fragment
        android:id="@+id/sitePermissionsExceptionsFragment"
        android:name="org.mozilla.fenix.settings.sitepermissions.SitePermissionsExceptionsFragment"
        android:label="@string/preference_exceptions"
        tools:layout="@layout/fragment_site_permissions_exceptions">
        <action
            android:id="@+id/action_site_permissions_to_exceptions_to_site_permissions_details"
            app:destination="@id/sitePermissionsDetailsExceptionsFragment"
            app:popUpTo="@+id/sitePermissionsExceptionsFragment" />
    </fragment>

    <fragment
        android:id="@+id/sitePermissionsDetailsExceptionsFragment"
        android:name="org.mozilla.fenix.settings.sitepermissions.SitePermissionsDetailsExceptionsFragment"
        tools:layout="@xml/site_permissions_details_exceptions_preferences">
        <action
            android:id="@+id/action_site_permissions_to_exceptions_to_manage_phone_feature"
            app:destination="@id/sitePermissionsManageExceptionsPhoneFeatureFragment"
            app:popUpTo="@+id/sitePermissionsDetailsExceptionsFragment" />
        <argument
            android:name="sitePermissions"
            app:argType="mozilla.components.feature.sitepermissions.SitePermissions" />
    </fragment>

    <fragment
        android:id="@+id/sitePermissionsManageExceptionsPhoneFeatureFragment"
        android:name="org.mozilla.fenix.settings.sitepermissions.SitePermissionsManageExceptionsPhoneFeatureFragment"
        tools:layout="@layout/fragment_manage_site_permissions_feature_phone">
        <argument
            android:name="phoneFeatureId"
            app:argType="integer" />
        <argument
            android:name="sitePermissions"
            app:argType="mozilla.components.feature.sitepermissions.SitePermissions" />
    </fragment>

    <fragment
        android:id="@+id/browserFragment"
        android:name="org.mozilla.fenix.browser.BrowserFragment"
        tools:layout="@layout/fragment_browser">
        <action
            android:id="@+id/action_browserFragment_to_homeFragment"
            app:destination="@id/homeFragment" />
        <action
            android:id="@+id/action_browserFragment_to_searchFragment"
            app:destination="@id/searchFragment" />
        <argument
            android:name="activeSessionId"
            app:argType="string"
            app:nullable="true" />
        <action
            android:id="@+id/action_browserFragment_to_settingsFragment"
            app:destination="@id/settingsFragment" />
        <action
            android:id="@+id/action_browserFragment_to_libraryFragment"
            app:destination="@id/libraryFragment" />
        <action
            android:id="@+id/action_browserFragment_to_bookmarkEditFragment"
            app:destination="@id/bookmarkEditFragment" />
        <action
            android:id="@+id/action_browserFragment_to_createCollectionFragment"
            app:destination="@id/collectionCreationFragment" />
        <action
            android:id="@+id/action_browserFragment_to_createShortcutFragment"
            app:destination="@id/createShortcutFragment" />
        <action
            android:id="@+id/action_browserFragment_to_shareFragment"
            app:destination="@id/shareFragment" />
        <action
            android:id="@+id/action_browserFragment_to_quickSettingsSheetDialogFragment"
            app:destination="@id/quickSettingsSheetDialogFragment" />
        <action
            android:id="@+id/action_browserFragment_to_trackingProtectionPanelDialogFragment"
            app:destination="@id/trackingProtectionPanelDialogFragment" />
    </fragment>

    <fragment
        android:id="@+id/externalAppBrowserFragment"
        android:name="org.mozilla.fenix.customtabs.ExternalAppBrowserFragment"
        tools:layout="@layout/fragment_browser">
        <argument
            android:name="activeSessionId"
            app:argType="string"
            app:nullable="true" />
        <argument
            android:name="webAppManifest"
            app:argType="string"
            app:nullable="true" />
        <action
            android:id="@+id/action_externalAppBrowserFragment_to_shareFragment"
            app:destination="@id/shareFragment" />
        <action
            android:id="@+id/action_externalAppBrowserFragment_to_quickSettingsSheetDialogFragment"
            app:destination="@id/quickSettingsSheetDialogFragment" />
        <action
            android:id="@+id/action_externalAppBrowserFragment_to_trackingProtectionPanelDialogFragment"
            app:destination="@id/trackingProtectionPanelDialogFragment" />
    </fragment>

    <fragment
        android:id="@+id/libraryFragment"
        android:name="org.mozilla.fenix.library.LibraryFragment"
        android:label="@string/library_title"
        tools:layout="@layout/fragment_library">
        <action
            android:id="@+id/action_libraryFragment_to_historyFragment"
            app:destination="@+id/historyFragment" />
        <action
            android:id="@+id/action_libraryFragment_to_bookmarksFragment"
            app:destination="@+id/bookmarkFragment" />
    </fragment>

    <fragment
        android:id="@+id/historyFragment"
        android:name="org.mozilla.fenix.library.history.HistoryFragment"
        android:label="@string/library_history"
        tools:layout="@layout/fragment_history">
        <action
            android:id="@+id/action_historyFragment_to_browserFragment"
            app:destination="@id/browserFragment" />
        <action
            android:id="@+id/action_historyFragment_to_homeFragment"
            app:destination="@id/homeFragment" />
        <action
            android:id="@+id/action_historyFragment_to_shareFragment"
            app:destination="@id/shareFragment" />
    </fragment>

    <fragment
        android:id="@+id/bookmarkFragment"
        android:name="org.mozilla.fenix.library.bookmarks.BookmarkFragment"
        tools:layout="@layout/fragment_bookmark">
        <argument
            android:name="currentRoot"
            app:argType="string" />
        <action
            android:id="@+id/action_bookmarkFragment_to_browserFragment"
            app:destination="@id/browserFragment" />
        <action
            android:id="@+id/action_bookmarkFragment_self"
            app:destination="@id/bookmarkFragment" />
        <action
            android:id="@+id/action_bookmarkFragment_to_bookmarkEditFragment"
            app:destination="@id/bookmarkEditFragment" />
        <action
            android:id="@+id/action_bookmarkFragment_to_homeFragment"
            app:destination="@id/homeFragment" />
        <action
            android:id="@+id/action_bookmarkFragment_to_shareFragment"
            app:destination="@id/shareFragment" />
        <action
            android:id="@+id/action_bookmarkFragment_to_bookmarkAddFolderFragment"
            app:destination="@id/bookmarkAddFolderFragment" />
    </fragment>

    <fragment
        android:id="@+id/bookmarkEditFragment"
        android:name="org.mozilla.fenix.library.bookmarks.edit.EditBookmarkFragment"
        tools:layout="@layout/fragment_edit_bookmark">
        <argument
            android:name="guidToEdit"
            app:argType="string"
            app:nullable="false" />
        <action
            android:id="@+id/action_bookmarkEditFragment_to_bookmarkSelectFolderFragment"
            app:destination="@id/bookmarkSelectFolderFragment" />
    </fragment>

    <fragment
        android:id="@+id/bookmarkSelectFolderFragment"
        android:name="org.mozilla.fenix.library.bookmarks.selectfolder.SelectBookmarkFolderFragment"
        android:label="@string/bookmark_select_folder_fragment_label"
        tools:layout="@layout/fragment_select_bookmark_folder">
        <argument
            android:name="folderGuid"
            app:argType="string"
            app:nullable="true" />
        <action
            android:id="@+id/action_bookmarkSelectFolderFragment_self"
            app:destination="@id/bookmarkSelectFolderFragment" />
        <action
            android:id="@+id/action_bookmarkSelectFolderFragment_to_bookmarkAddFolderFragment"
            app:destination="@id/bookmarkAddFolderFragment" />
        <argument
            android:name="visitedAddBookmark"
            android:defaultValue="false"
            app:argType="boolean" />
        <action
            android:id="@+id/action_bookmarkSelectFolderFragment_to_browserFragment"
            app:destination="@id/browserFragment" />
    </fragment>

    <fragment
        android:id="@+id/bookmarkAddFolderFragment"
        android:name="org.mozilla.fenix.library.bookmarks.addfolder.AddBookmarkFolderFragment"
        android:label="@string/bookmark_add_folder_fragment_label">
        <action
            android:id="@+id/action_bookmarkAddFolderFragment_to_bookmarkSelectFolderFragment"
            app:destination="@id/bookmarkSelectFolderFragment" />
    </fragment>

    <fragment
        android:id="@+id/loginsFragment"
        android:name="org.mozilla.fenix.settings.LoginsFragment"
        android:label="@string/preferences_passwords_logins_and_passwords">
        <action
            android:id="@+id/action_loginsFragment_to_savedLoginsFragment"
            app:destination="@id/savedLoginsFragment" />
        <action
            android:id="@+id/action_loginsFragment_to_accountSettingsFragment"
            app:destination="@id/accountSettingsFragment" />
        <action
            android:id="@+id/action_loginsFragment_to_accountProblemFragment"
            app:destination="@id/accountProblemFragment" />
        <action
            android:id="@+id/action_loginsFragment_to_turnOnSyncFragment"
            app:destination="@id/turnOnSyncFragment" />
        <action
            android:id="@+id/action_loginsFragment_to_saveLoginSettingFragment"
            app:destination="@id/saveLoginSettingFragment" />
    </fragment>

    <fragment
        android:id="@+id/settingsFragment"
        android:name="org.mozilla.fenix.settings.SettingsFragment"
        android:label="@string/settings_title">
        <action
            android:id="@+id/action_settingsFragment_to_browserFragment"
            app:destination="@id/browserFragment"
            app:popUpTo="@+id/settingsFragment" />
        <action
            android:id="@+id/action_settingsFragment_to_dataChoicesFragment"
            app:destination="@id/dataChoicesFragment"
            app:popUpTo="@+id/settingsFragment" />
        <action
            android:id="@+id/action_settingsFragment_to_sitePermissionsFragment"
            app:destination="@id/sitePermissionsFragment" />
        <action
            android:id="@+id/action_settingsFragment_to_loginsFragment"
            app:destination="@id/loginsFragment" />
        <action
            android:id="@+id/action_settingsFragment_to_accessibilityFragment"
            app:destination="@id/accessibilityFragment" />
        <action
            android:id="@+id/action_settingsFragment_to_accountSettingsFragment"
            app:destination="@id/accountSettingsFragment" />
        <action
            android:id="@+id/action_settingsFragment_to_searchEngineFragment"
            app:destination="@id/searchEngineFragment" />
        <action
            android:id="@+id/action_settingsFragment_to_turnOnSyncFragment"
            app:destination="@id/turnOnSyncFragment" />
        <action
            android:id="@+id/action_settingsFragment_to_aboutFragment"
            app:destination="@id/aboutFragment" />
        <action
            android:id="@+id/action_settingsFragment_to_themeFragment"
            app:destination="@id/themeFragment" />
        <action
            android:id="@+id/action_settingsFragment_to_trackingProtectionFragment"
            app:destination="@id/trackingProtectionFragment" />
        <action
            android:id="@+id/action_settingsFragment_to_deleteBrowsingDataFragment"
            app:destination="@id/deleteBrowsingDataFragment" />
        <action
            android:id="@+id/action_settingsFragment_to_accountProblemFragment"
            app:destination="@id/accountProblemFragment" />
        <action
            android:id="@+id/action_settingsFragment_to_deleteBrowsingDataOnQuitFragment"
            app:destination="@id/deleteBrowsingDataOnQuitFragment" />
        <action
            android:id="@+id/action_settingsFragment_to_defaultBrowserSettingsFragment"
            app:destination="@id/defaultBrowserSettingsFragment" />
        <action
            android:id="@+id/action_settingsFragment_to_toolbarSettingsFragment"
            app:destination="@id/toolbarSettingsFragment" />
        <action
            android:id="@+id/action_settingsFragment_to_localeSettingsFragment"
            app:destination="@id/localeSettingsFragment" />
    </fragment>
    <fragment
        android:id="@+id/dataChoicesFragment"
        android:name="org.mozilla.fenix.settings.DataChoicesFragment"
        android:label="@string/preferences_data_choices" />
    <fragment
        android:id="@+id/sitePermissionsFragment"
        android:name="org.mozilla.fenix.settings.sitepermissions.SitePermissionsFragment"
        android:label="@string/preferences_site_permissions">
        <action
            android:id="@+id/action_site_permissions_to_manage_phone_features"
            app:destination="@id/SitePermissionsManagePhoneFeature"
            app:popUpTo="@id/sitePermissionsFragment" />
        <action
            android:id="@+id/action_site_permissions_to_exceptions"
            app:destination="@id/sitePermissionsExceptionsFragment"
            app:popUpTo="@id/sitePermissionsFragment" />
    </fragment>

    <fragment
        android:id="@+id/accessibilityFragment"
        android:name="org.mozilla.fenix.settings.AccessibilityFragment"
        android:label="@string/preferences_accessibility" />
    <fragment
        android:id="@+id/accountSettingsFragment"
        android:name="org.mozilla.fenix.settings.account.AccountSettingsFragment"
        android:label="@string/preferences_account_settings">
        <action
            android:id="@+id/action_accountSettingsFragment_to_signOutFragment"
            app:destination="@id/signOutFragment" />
    </fragment>
    <fragment
        android:id="@+id/searchEngineFragment"
        android:name="org.mozilla.fenix.settings.search.SearchEngineFragment"
        android:label="@string/preferences_search">
        <action
            android:id="@+id/action_searchEngineFragment_to_addSearchEngineFragment"
            app:destination="@+id/addSearchEngineFragment" />
        <action
            android:id="@+id/action_searchEngineFragment_to_editCustomSearchEngineFragment"
            app:destination="@+id/editCustomSearchEngineFragment" />
    </fragment>

    <fragment
        android:id="@+id/turnOnSyncFragment"
        android:name="org.mozilla.fenix.settings.account.TurnOnSyncFragment"
        android:label="@string/preferences_sync">
        <argument
            android:name="padSnackbar"
            android:defaultValue="false"
            app:argType="boolean" />
        <action
            android:id="@+id/action_turnOnSyncFragment_to_pairFragment"
            app:destination="@id/pairFragment" />
    </fragment>

    <fragment
        android:id="@+id/pairFragment"
        android:name="org.mozilla.fenix.settings.PairFragment"
        android:label="@string/preferences_sync" />

    <fragment
        android:id="@+id/aboutFragment"
        android:name="org.mozilla.fenix.settings.about.AboutFragment">
        <action
            android:id="@+id/action_aboutFragment_to_browserFragment"
            app:destination="@id/browserFragment" />
    </fragment>
    <fragment
        android:id="@+id/crashReporterFragment"
        android:name="org.mozilla.fenix.crashes.CrashReporterFragment">
        <action
            android:id="@+id/action_crashReporterFragment_to_homeFragment"
            app:destination="@id/homeFragment"
            app:popUpTo="@id/nav_graph" />
        <argument
            android:name="crashIntent"
            app:argType="android.content.Intent" />
    </fragment>
    <fragment
        android:id="@+id/themeFragment"
        android:name="org.mozilla.fenix.settings.ThemeFragment"
        android:label="@string/preferences_theme" />
    <fragment
        android:id="@+id/trackingProtectionFragment"
        android:name="org.mozilla.fenix.settings.TrackingProtectionFragment">
        <action
            android:id="@+id/action_trackingProtectionFragment_to_exceptionsFragment"
            app:destination="@id/exceptionsFragment" />
        <action
            android:id="@+id/action_trackingProtectionFragment_to_trackingProtectionBlockingFragment"
            app:destination="@id/trackingProtectionBlockingFragment" />
        <action
            android:id="@+id/action_trackingProtectionFragment_to_browserFragment"
            app:destination="@id/browserFragment" />
    </fragment>
    <fragment
        android:id="@+id/deleteBrowsingDataFragment"
        android:name="org.mozilla.fenix.settings.deletebrowsingdata.DeleteBrowsingDataFragment"
        android:label="@string/preferences_delete_browsing_data" />
    <fragment
        android:id="@+id/exceptionsFragment"
        android:name="org.mozilla.fenix.exceptions.ExceptionsFragment"
        android:label="@string/preference_exceptions">
        <action
            android:id="@+id/action_exceptionsFragment_to_browserFragment"
            app:destination="@id/browserFragment"
            app:popUpTo="@id/settingsFragment"
            app:popUpToInclusive="true" />
    </fragment>
    <dialog
        android:id="@+id/collectionCreationFragment"
        android:name="org.mozilla.fenix.collections.CollectionCreationFragment"
        tools:layout="@layout/fragment_create_collection">
        <argument
            android:name="tabIds"
            android:defaultValue="@null"
            app:argType="string[]"
            app:nullable="true" />
        <argument
            android:name="selectedTabIds"
            android:defaultValue="@null"
            app:argType="string[]"
            app:nullable="true" />
        <!-- nav_graph does not allow nullable Longs, so this defaults to -1 -->
        <argument
            android:name="selectedTabCollectionId"
            android:defaultValue="-1L"
            app:argType="long" />
        <argument
            android:name="previousFragmentId"
            app:argType="reference"
            app:nullable="false" />
        <argument
            android:name="saveCollectionStep"
            app:argType="org.mozilla.fenix.collections.SaveCollectionStep"
            app:nullable="false" />
    </dialog>
    <dialog
        android:id="@+id/createShortcutFragment"
        android:name="org.mozilla.fenix.shortcut.CreateShortcutFragment"
        tools:layout="@layout/fragment_create_shortcut" />
    <dialog
        android:id="@+id/shareFragment"
        android:name="org.mozilla.fenix.share.ShareFragment"
        tools:layout="@layout/fragment_share">
        <argument
            android:name="data"
            app:argType="mozilla.components.concept.engine.prompt.ShareData[]" />
        <argument
            android:name="showPage"
            android:defaultValue="false"
            app:argType="boolean" />
        <action
            android:id="@+id/action_shareFragment_to_turnOnSyncFragment"
            app:destination="@+id/turnOnSyncFragment"
            app:popUpTo="@id/shareFragment"
            app:popUpToInclusive="true"></action>
        <action
            android:id="@+id/action_shareFragment_to_accountProblemFragment"
            app:destination="@id/accountProblemFragment" />
        <action
            android:id="@+id/action_shareFragment_to_addNewDeviceFragment"
            app:destination="@id/addNewDeviceFragment" />
        <argument
            android:name="sessionId"
            android:defaultValue="null"
            app:argType="string"
            app:nullable="true" />
    </dialog>
    <dialog
        android:id="@+id/quickSettingsSheetDialogFragment"
        android:name="org.mozilla.fenix.settings.quicksettings.QuickSettingsSheetDialogFragment">
        <argument
            android:name="sessionId"
            app:argType="string" />
        <argument
            android:name="url"
            app:argType="string" />
        <argument
            android:name="isSecured"
            app:argType="boolean" />
        <argument
            android:name="sitePermissions"
            app:argType="mozilla.components.feature.sitepermissions.SitePermissions"
            app:nullable="true" />
        <argument
            android:name="gravity"
            android:defaultValue="80"
            app:argType="integer" />
        <action
            android:id="@+id/action_quickSettingsSheetDialogFragment_to_SitePermissionsManagePhoneFeature"
            app:destination="@id/SitePermissionsManagePhoneFeature"
            app:popUpTo="@id/quickSettingsSheetDialogFragment" />
    </dialog>
    <fragment
        android:id="@+id/accountProblemFragment"
        android:name="org.mozilla.fenix.settings.account.AccountProblemFragment">
        <action
            android:id="@+id/action_accountProblemFragment_to_signOutFragment"
            app:destination="@id/signOutFragment" />
    </fragment>
    <dialog
        android:id="@+id/signOutFragment"
        android:name="org.mozilla.fenix.settings.account.SignOutFragment" />
    <action
        android:id="@+id/action_global_shareFragment"
        app:destination="@id/shareFragment" />
    <dialog
        android:id="@+id/trackingProtectionPanelDialogFragment"
        android:name="org.mozilla.fenix.trackingprotection.TrackingProtectionPanelDialogFragment">
        <argument
            android:name="sessionId"
            app:argType="string" />
        <argument
            android:name="url"
            app:argType="string" />
        <argument
            android:name="trackingProtectionEnabled"
            app:argType="boolean" />
        <argument
            android:name="gravity"
            android:defaultValue="80"
            app:argType="integer" />
        <action
            android:id="@+id/action_trackingProtectionPanelDialogFragment_to_trackingProtectionFragment"
            app:destination="@id/trackingProtectionFragment" />
    </dialog>
    <fragment
        android:id="@+id/trackingProtectionBlockingFragment"
        android:name="org.mozilla.fenix.trackingprotection.TrackingProtectionBlockingFragment">
        <argument
            android:name="strictMode"
            app:argType="boolean" />
    </fragment>
    <fragment
        android:id="@+id/deleteBrowsingDataOnQuitFragment"
        android:name="org.mozilla.fenix.settings.deletebrowsingdata.DeleteBrowsingDataOnQuitFragment" />

    <fragment
        android:id="@+id/addNewDeviceFragment"
        android:name="org.mozilla.fenix.share.AddNewDeviceFragment" />
    <fragment
        android:id="@+id/defaultBrowserSettingsFragment"
        android:name="org.mozilla.fenix.settings.DefaultBrowserSettingsFragment">
        <action
            android:id="@+id/action_defaultBrowserSettingsFragment_to_browserFragment"
            app:destination="@id/browserFragment" />
    </fragment>
    <fragment
        android:id="@+id/savedLoginsFragment"
        android:name="org.mozilla.fenix.settings.logins.SavedLoginsFragment"
        tools:layout="@layout/fragment_saved_logins">
        <action
            android:id="@+id/action_savedLoginsFragment_to_savedLoginSiteInfoFragment"
            app:destination="@id/savedLoginSiteInfoFragment" />
    </fragment>
    <fragment
        android:id="@+id/savedLoginSiteInfoFragment"
        android:name="org.mozilla.fenix.settings.logins.SavedLoginSiteInfoFragment"
        tools:layout="@layout/fragment_saved_login_site_info">
        <argument
            android:name="savedLoginItem"
            app:argType="org.mozilla.fenix.settings.logins.SavedLoginsItem" />
    </fragment>
    <fragment
        android:id="@+id/addSearchEngineFragment"
        android:name="org.mozilla.fenix.settings.search.AddSearchEngineFragment" />
    <fragment
        android:id="@+id/editCustomSearchEngineFragment"
        android:name="org.mozilla.fenix.settings.search.EditCustomSearchEngineFragment">
        <argument
            android:name="searchEngineIdentifier"
            app:argType="string" />
    </fragment>
    <fragment
        android:id="@+id/toolbarSettingsFragment"
        android:name="org.mozilla.fenix.settings.ToolbarSettingsFragment" />
    <fragment
        android:id="@+id/localeSettingsFragment"
        android:name="org.mozilla.fenix.settings.advanced.LocaleSettingsFragment" />
    <fragment
        android:id="@+id/saveLoginSettingFragment"
        android:name="org.mozilla.fenix.settings.logins.SaveLoginSettingFragment"
        android:label="SaveLoginSettingFragment" />
</navigation>
