GitLab is used only for code review, issue tracking and project management. Canonical locations for source code are still https://gitweb.torproject.org/ https://git.torproject.org/ and git-rw.torproject.org.

nav_graph.xml 42.6 KB
Newer Older
1 2
<?xml version="1.0" encoding="utf-8"?>
<navigation xmlns:android="http://schemas.android.com/apk/res/android"
3 4 5
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/nav_graph"
6
    app:startDestination="@id/homeFragment">
7

Jeff Boek's avatar
Jeff Boek committed
8 9
    <action
        android:id="@+id/action_global_home"
10
        app:destination="@id/homeFragment"
11
        app:popUpTo="@id/homeFragment"
Jeff Boek's avatar
Jeff Boek committed
12
        app:popUpToInclusive="true" />
Jeff Boek's avatar
Jeff Boek committed
13

14 15
    <action
        android:id="@+id/action_global_browser"
16
        app:destination="@id/browserFragment"
17
        app:popUpTo="@id/homeFragment"
Jeff Boek's avatar
Jeff Boek committed
18
        app:popUpToInclusive="false" />
19

Tiger Oakes's avatar
Tiger Oakes committed
20 21 22
    <action
        android:id="@+id/action_global_external_app_browser"
        app:destination="@id/externalAppBrowserFragment"
23 24
        app:popUpTo="@id/homeFragment"
        app:popUpToInclusive="false" />
Tiger Oakes's avatar
Tiger Oakes committed
25

26 27 28 29
    <action
        android:id="@+id/action_global_search_dialog"
        app:destination="@id/searchDialogFragment" />

ekager's avatar
ekager committed
30 31 32 33
    <action
        android:id="@+id/action_global_recently_closed"
        app:destination="@id/recentlyClosedFragment" />

34 35 36 37 38 39 40 41 42 43 44
    <action
        android:id="@+id/action_global_shareFragment"
        app:destination="@id/shareFragment" />
    <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_searchEngineFragment"
Tiger Oakes's avatar
Tiger Oakes committed
45
        app:destination="@id/search_engine_graph" />
46 47 48 49 50 51 52 53 54 55 56 57 58 59
    <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_webExtensionActionPopupFragment"
        app:destination="@id/webExtensionActionPopupFragment" />
    <action
        android:id="@+id/action_global_settingsFragment"
        app:destination="@id/settingsFragment" />
    <action
        android:id="@+id/action_global_syncedTabsFragment"
60
        app:destination="@id/syncedTabsFragment" />
61 62 63 64 65 66 67 68 69
    <action
        android:id="@+id/action_global_privateBrowsingFragment"
        app:destination="@id/privateBrowsingFragment" />
    <action
        android:id="@+id/action_global_bookmarkFragment"
        app:destination="@id/bookmarkFragment" />
    <action
        android:id="@+id/action_global_historyFragment"
        app:destination="@id/historyFragment" />
Kate Glazko's avatar
Kate Glazko committed
70

71 72
    <action
        android:id="@+id/action_global_downloadsFragment"
Kate Glazko's avatar
Kate Glazko committed
73
        app:destination="@id/downloadsFragment" />
74 75 76 77 78 79 80 81 82 83 84 85 86 87
    <action
        android:id="@+id/action_global_accountProblemFragment"
        app:destination="@id/accountProblemFragment" />
    <action
        android:id="@+id/action_global_SitePermissionsManagePhoneFeature"
        app:destination="@id/SitePermissionsManagePhoneFeature" />
    <action
        android:id="@+id/action_global_collectionCreationFragment"
        app:destination="@id/collectionCreationFragment" />
    <action
        android:id="@+id/action_global_bookmarkEditFragment"
        app:destination="@id/bookmarkEditFragment" />
    <action
        android:id="@+id/action_global_addonsManagementFragment"
Tiger Oakes's avatar
Tiger Oakes committed
88
        app:destination="@id/addons_management_graph" />
89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106
    <action
        android:id="@+id/action_global_trackingProtectionFragment"
        app:destination="@id/trackingProtectionFragment" />
    <action
        android:id="@+id/action_global_trackingProtectionExceptionsFragment"
        app:destination="@id/trackingProtectionExceptionsFragment" />
    <action
        android:id="@+id/action_global_accountSettingsFragment"
        app:destination="@id/accountSettingsFragment" />
    <action
        android:id="@+id/action_global_trackingProtectionPanelDialogFragment"
        app:destination="@id/trackingProtectionPanelDialogFragment" />
    <action
        android:id="@+id/action_global_quickSettingsSheetDialogFragment"
        app:destination="@id/quickSettingsSheetDialogFragment" />
    <action
        android:id="@+id/action_global_tabTrayDialogFragment"
        app:destination="@id/tabTrayDialogFragment" />
107 108 109
    <action
        android:id="@+id/action_global_savedLoginsAuthFragment"
        app:destination="@id/savedLoginsAuthFragment" />
110 111 112
    <action
        android:id="@+id/action_global_tabHistoryDialogFragment"
        app:destination="@id/tabHistoryDialogFragment" />
113
    <action
114 115
        android:id="@+id/action_global_tabSettingsFragment"
        app:destination="@id/tabsSettingsFragment" />
116 117 118
    <action
        android:id="@+id/action_global_homeFragment"
        app:destination="@id/homeFragment" />
119 120 121 122

    <dialog
        android:id="@+id/tabTrayDialogFragment"
        android:name="org.mozilla.fenix.tabtray.TabTrayDialogFragment"
123 124 125 126 127 128
        tools:layout="@layout/fragment_tab_tray_dialog">
        <argument
            android:name="enterMultiselect"
            android:defaultValue="false"
            app:argType="boolean" />
    </dialog>
Gabriel Luong's avatar
Gabriel Luong committed
129

130 131 132 133
    <fragment
        android:id="@+id/homeFragment"
        android:name="org.mozilla.fenix.home.HomeFragment"
        tools:layout="@layout/fragment_home">
134 135 136 137
        <argument
            android:name="focusOnAddressBar"
            android:defaultValue="false"
            app:argType="boolean" />
138 139 140 141 142 143 144
        <action
            android:id="@+id/action_homeFragment_to_torNetworkSettingsFragment"
            app:destination="@id/torNetworkSettingsFragment"
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
            app:popExitAnim="@anim/slide_out_right" />
145
    </fragment>
146

147 148
    <dialog
        android:id="@+id/searchDialogFragment"
149
        android:name="org.mozilla.fenix.search.SearchDialogFragment"
150 151 152 153 154 155 156 157 158 159 160 161 162 163 164
        tools:layout="@layout/fragment_search_dialog">
        <argument
            android:name="session_id"
            app:argType="string"
            app:nullable="true" />
        <argument
            android:name="pastedText"
            android:defaultValue="@null"
            app:argType="string"
            app:nullable="true" />
        <argument
            android:name="search_access_point"
            android:defaultValue="NONE"
            app:argType="org.mozilla.fenix.components.metrics.Event$PerformedSearch$SearchAccessPoint" />
    </dialog>
165

ekager's avatar
ekager committed
166 167 168 169 170
    <fragment
        android:id="@+id/recentlyClosedFragment"
        android:name="org.mozilla.fenix.library.recentlyclosed.RecentlyClosedFragment"
        android:label="@string/library_recently_closed_tabs" />

171 172
    <fragment
        android:id="@+id/SitePermissionsManagePhoneFeature"
173
        android:name="org.mozilla.fenix.settings.sitepermissions.SitePermissionsManagePhoneFeatureFragment"
174 175
        tools:layout="@layout/fragment_manage_site_permissions_feature_phone">
        <argument
176 177
            android:name="phoneFeature"
            app:argType="org.mozilla.fenix.settings.PhoneFeature" />
178 179
    </fragment>

180 181 182
    <fragment
        android:id="@+id/browserFragment"
        android:name="org.mozilla.fenix.browser.BrowserFragment"
183
        app:exitAnim="@anim/fade_out"
184
        tools:layout="@layout/fragment_browser">
185
        <argument
186
            android:name="activeSessionId"
187 188
            app:argType="string"
            app:nullable="true" />
189 190 191
        <action
            android:id="@+id/action_browserFragment_to_syncedTabsFragment"
            app:destination="@id/syncedTabsFragment" />
192 193 194
        <action
            android:id="@+id/action_browserFragment_to_settingsFragment"
            app:destination="@id/settingsFragment" />
195
        <action
ekager's avatar
ekager committed
196 197
            android:id="@+id/action_browserFragment_to_createShortcutFragment"
            app:destination="@id/createShortcutFragment" />
198
        <action
199 200
            android:id="@+id/action_browserFragment_to_pwaOnboardingDialogFragment"
            app:destination="@id/pwaOnboardingDialogFragment" />
201 202 203
        <action
            android:id="@+id/action_browserFragment_to_quickSettingsSheetDialogFragment"
            app:destination="@id/quickSettingsSheetDialogFragment" />
204 205 206
        <action
            android:id="@+id/action_browserFragment_to_trackingProtectionPanelDialogFragment"
            app:destination="@id/trackingProtectionPanelDialogFragment" />
207 208 209
        <action
            android:id="@+id/action_browserFragment_to_tabsTrayFragment"
            app:destination="@+id/tabTrayFragment" />
210
    </fragment>
211

Tiger Oakes's avatar
Tiger Oakes committed
212
    <fragment
213 214 215
        android:id="@+id/externalAppBrowserFragment"
        android:name="org.mozilla.fenix.customtabs.ExternalAppBrowserFragment"
        tools:layout="@layout/fragment_browser">
ekager's avatar
ekager committed
216 217 218 219 220 221 222 223
        <argument
            android:name="activeSessionId"
            app:argType="string"
            app:nullable="true" />
        <argument
            android:name="webAppManifest"
            app:argType="string"
            app:nullable="true" />
Tiger Oakes's avatar
Tiger Oakes committed
224 225
    </fragment>

226 227 228 229
    <fragment
        android:id="@+id/historyFragment"
        android:name="org.mozilla.fenix.library.history.HistoryFragment"
        android:label="@string/library_history"
Jeff Boek's avatar
Jeff Boek committed
230
        tools:layout="@layout/fragment_history" />
231

Kate Glazko's avatar
Kate Glazko committed
232 233 234 235 236 237
    <fragment
        android:id="@+id/downloadsFragment"
        android:name="org.mozilla.fenix.library.downloads.DownloadFragment"
        android:label="Downloads"
        tools:layout="@layout/fragment_downloads" />

238 239 240 241 242 243 244 245 246 247
    <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_self"
            app:destination="@id/bookmarkFragment" />
248 249 250
        <action
            android:id="@+id/action_bookmarkFragment_to_bookmarkEditFragment"
            app:destination="@id/bookmarkEditFragment" />
251 252 253
        <action
            android:id="@+id/action_bookmarkFragment_to_bookmarkAddFolderFragment"
            app:destination="@id/bookmarkAddFolderFragment" />
254 255 256 257 258 259 260 261 262
    </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"
Emily Kager's avatar
Emily Kager committed
263
            app:nullable="false" />
264 265 266
        <action
            android:id="@+id/action_bookmarkEditFragment_to_bookmarkSelectFolderFragment"
            app:destination="@id/bookmarkSelectFolderFragment" />
Mihai Eduard Badea's avatar
Mihai Eduard Badea committed
267 268
        <argument
            android:name="requiresSnackbarPaddingForToolbar"
269 270
            android:defaultValue="false"
            app:argType="boolean" />
271 272 273 274 275 276 277 278 279 280 281 282 283 284
    </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">
        <action
            android:id="@+id/action_bookmarkSelectFolderFragment_self"
            app:destination="@id/bookmarkSelectFolderFragment" />
        <action
            android:id="@+id/action_bookmarkSelectFolderFragment_to_bookmarkAddFolderFragment"
            app:destination="@id/bookmarkAddFolderFragment" />
        <argument
285
            android:name="allowCreatingNewFolder"
Emily Kager's avatar
Emily Kager committed
286 287
            android:defaultValue="false"
            app:argType="boolean" />
288 289 290 291 292
        <argument
            android:name="hideFolderGuid"
            android:defaultValue="@null"
            app:nullable="true"
            app:argType="string" />
293 294 295 296 297
    </fragment>

    <fragment
        android:id="@+id/bookmarkAddFolderFragment"
        android:name="org.mozilla.fenix.library.bookmarks.addfolder.AddBookmarkFolderFragment"
298 299
        android:label="@string/bookmark_add_folder_fragment_label"
        tools:layout="@layout/fragment_edit_bookmark">
300 301 302
        <action
            android:id="@+id/action_bookmarkAddFolderFragment_to_bookmarkSelectFolderFragment"
            app:destination="@id/bookmarkSelectFolderFragment" />
303
    </fragment>
304

ekager's avatar
ekager committed
305
    <fragment
306
        android:id="@+id/savedLoginsAuthFragment"
307
        android:name="org.mozilla.fenix.settings.logins.fragment.SavedLoginsAuthFragment"
ekager's avatar
ekager committed
308 309
        android:label="@string/preferences_passwords_logins_and_passwords">
        <action
310
            android:id="@+id/action_savedLoginsAuthFragment_to_loginsListFragment"
311
            app:destination="@id/savedLoginsFragment"
312 313 314
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
315
            app:popExitAnim="@anim/slide_out_right" />
ekager's avatar
ekager committed
316
        <action
317
            android:id="@+id/action_savedLoginsAuthFragment_to_turnOnSyncFragment"
318
            app:destination="@id/turnOnSyncFragment"
319 320 321
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
322
            app:popExitAnim="@anim/slide_out_right" />
323
        <action
324
            android:id="@+id/action_savedLoginsAuthFragment_to_savedLoginsSettingFragment"
325
            app:destination="@id/saveLoginSettingFragment"
326 327 328
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
329 330 331 332 333 334 335 336
            app:popExitAnim="@anim/slide_out_right" />
        <action
            android:id="@+id/action_savedLoginsAuthFragment_to_loginExceptionsFragment"
            app:destination="@id/loginExceptionsFragment"
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
            app:popExitAnim="@anim/slide_out_right" />
ekager's avatar
ekager committed
337 338
    </fragment>

339 340
    <fragment
        android:id="@+id/savedLoginsFragment"
341
        android:name="org.mozilla.fenix.settings.logins.fragment.SavedLoginsFragment"
342 343 344 345 346 347 348 349 350 351 352
        tools:layout="@layout/fragment_saved_logins">
        <action
            android:id="@+id/action_savedLoginsFragment_to_loginDetailFragment"
            app:destination="@id/loginDetailFragment" />
        <action
            android:id="@+id/action_savedLoginsFragment_to_browserFragment"
            app:destination="@id/browserFragment"
            app:popUpTo="@id/settingsFragment"
            app:popUpToInclusive="true" />
    </fragment>

353 354 355 356
    <fragment
        android:id="@+id/syncedTabsFragment"
        android:name="org.mozilla.fenix.sync.SyncedTabsFragment"
        android:label="@string/synced_tabs"
357
        tools:layout="@layout/fragment_synced_tabs" />
358 359 360

    <fragment
        android:id="@+id/loginExceptionsFragment"
361
        android:name="org.mozilla.fenix.exceptions.login.LoginExceptionsFragment"
362
        android:label="@string/preferences_passwords_exceptions"
363
        tools:layout="@layout/fragment_exceptions" />
364

365 366
    <fragment
        android:id="@+id/loginDetailFragment"
367
        android:name="org.mozilla.fenix.settings.logins.fragment.LoginDetailFragment"
368 369 370 371
        tools:layout="@layout/fragment_login_detail">
        <argument
            android:name="savedLoginId"
            app:argType="string"
372
            app:nullable="false" />
373 374 375 376
        <action
            android:id="@+id/action_loginDetailFragment_to_editLoginFragment"
            app:destination="@id/editLoginFragment"
            app:popUpTo="@id/editLoginFragment"
377
            app:popUpToInclusive="true" />
378 379 380 381
    </fragment>

    <fragment
        android:id="@+id/editLoginFragment"
382
        android:name="org.mozilla.fenix.settings.logins.fragment.EditLoginFragment"
383 384
        android:label="@string/edit"
        tools:layout="@layout/fragment_edit_login">
385 386 387
        <argument
            android:name="savedLoginItem"
            app:argType="org.mozilla.fenix.settings.logins.SavedLogin"
388
            app:nullable="false" />
389 390 391 392
        <action
            android:id="@+id/action_editLoginFragment_to_loginDetailFragment"
            app:destination="@id/loginDetailFragment"
            app:popUpTo="@id/loginDetailFragment"
393
            app:popUpToInclusive="true" />
394 395
    </fragment>

396 397 398
    <fragment
        android:id="@+id/settingsFragment"
        android:name="org.mozilla.fenix.settings.SettingsFragment"
Emily Kager's avatar
Emily Kager committed
399
        android:label="@string/settings_title">
400 401 402 403 404
        <argument
            android:name="preference_to_scroll_to"
            android:defaultValue="@null"
            app:argType="string"
            app:nullable="true" />
Emily Kager's avatar
Emily Kager committed
405 406
        <action
            android:id="@+id/action_settingsFragment_to_dataChoicesFragment"
407
            app:destination="@id/dataChoicesFragment"
408 409 410 411
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
            app:popExitAnim="@anim/slide_out_right"
412
            app:popUpTo="@id/settingsFragment" />
Emily Kager's avatar
Emily Kager committed
413 414
        <action
            android:id="@+id/action_settingsFragment_to_sitePermissionsFragment"
415
            app:destination="@id/sitePermissionsFragment"
416 417 418
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
419
            app:popExitAnim="@anim/slide_out_right" />
ekager's avatar
ekager committed
420
        <action
421
            android:id="@+id/action_settingsFragment_to_savedLoginsAuthFragment"
422
            app:destination="@id/savedLoginsAuthFragment"
423 424 425
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
426
            app:popExitAnim="@anim/slide_out_right" />
Emily Kager's avatar
Emily Kager committed
427 428
        <action
            android:id="@+id/action_settingsFragment_to_accessibilityFragment"
429
            app:destination="@id/accessibilityFragment"
430 431 432
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
433
            app:popExitAnim="@anim/slide_out_right" />
Emily Kager's avatar
Emily Kager committed
434 435
        <action
            android:id="@+id/action_settingsFragment_to_accountSettingsFragment"
436
            app:destination="@id/accountSettingsFragment"
437 438 439
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
440
            app:popExitAnim="@anim/slide_out_right" />
441 442
        <action
            android:id="@+id/action_settingsFragment_to_searchEngineFragment"
Tiger Oakes's avatar
Tiger Oakes committed
443
            app:destination="@id/search_engine_graph"
444 445 446
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
447
            app:popExitAnim="@anim/slide_out_right" />
448
        <action
449
            android:id="@+id/action_settingsFragment_to_turnOnSyncFragment"
450
            app:destination="@id/turnOnSyncFragment"
451 452 453
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
454
            app:popExitAnim="@anim/slide_out_right" />
455 456
        <action
            android:id="@+id/action_settingsFragment_to_aboutFragment"
457
            app:destination="@id/aboutFragment"
458 459 460
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
461
            app:popExitAnim="@anim/slide_out_right" />
462 463
        <action
            android:id="@+id/action_settingsFragment_to_secretSettingsFragment"
464
            app:destination="@id/secretSettingsPreference"
465 466 467
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
468
            app:popExitAnim="@anim/slide_out_right" />
Emily Kager's avatar
Emily Kager committed
469
        <action
470
            android:id="@+id/action_settingsFragment_to_customizationFragment"
471
            app:destination="@id/customizationFragment"
472 473 474
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
475
            app:popExitAnim="@anim/slide_out_right" />
476 477
        <action
            android:id="@+id/action_settingsFragment_to_privateBrowsingFragment"
478
            app:destination="@id/privateBrowsingFragment"
479 480 481
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
482
            app:popExitAnim="@anim/slide_out_right" />
483 484 485 486 487 488 489
        <action
            android:id="@+id/action_settingsFragment_to_torNetworkSettingsFragment"
            app:destination="@id/torNetworkSettingsFragment"
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
            app:popExitAnim="@anim/slide_out_right" />
490 491
        <action
            android:id="@+id/action_settingsFragment_to_trackingProtectionFragment"
492
            app:destination="@id/trackingProtectionFragment"
493 494 495
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
496
            app:popExitAnim="@anim/slide_out_right" />
497 498
        <action
            android:id="@+id/action_settingsFragment_to_deleteBrowsingDataFragment"
499
            app:destination="@id/deleteBrowsingDataFragment"
500 501 502
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
503
            app:popExitAnim="@anim/slide_out_right" />
504 505
        <action
            android:id="@+id/action_settingsFragment_to_accountProblemFragment"
506
            app:destination="@id/accountProblemFragment"
507 508 509
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
510
            app:popExitAnim="@anim/slide_out_right" />
511 512
        <action
            android:id="@+id/action_settingsFragment_to_deleteBrowsingDataOnQuitFragment"
513
            app:destination="@id/deleteBrowsingDataOnQuitFragment"
514 515 516
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
517
            app:popExitAnim="@anim/slide_out_right" />
518 519
        <action
            android:id="@+id/action_settingsFragment_to_localeSettingsFragment"
520
            app:destination="@id/localeSettingsFragment"
521 522 523
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
524
            app:popExitAnim="@anim/slide_out_right" />
Gabriel Luong's avatar
Gabriel Luong committed
525 526
        <action
            android:id="@+id/action_settingsFragment_to_addonsFragment"
Tiger Oakes's avatar
Tiger Oakes committed
527
            app:destination="@id/addons_management_graph"
528 529 530
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
531
            app:popExitAnim="@anim/slide_out_right" />
532
        <action
533 534
            android:id="@+id/action_settingsFragment_to_tabsSettingsFragment"
            app:destination="@id/tabsSettingsFragment"
535 536 537 538
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
            app:popExitAnim="@anim/slide_out_right" />
539
    </fragment>
540
    <fragment
541 542 543
        android:id="@+id/tabsSettingsFragment"
        android:name="org.mozilla.fenix.settings.TabsSettingsFragment"
        android:label="@string/preferences_tabs" />
544
    <fragment
Emily Kager's avatar
Emily Kager committed
545 546
        android:id="@+id/dataChoicesFragment"
        android:name="org.mozilla.fenix.settings.DataChoicesFragment"
547
        android:label="@string/preferences_data_choices" />
Emily Kager's avatar
Emily Kager committed
548 549
    <fragment
        android:id="@+id/sitePermissionsFragment"
550
        android:name="org.mozilla.fenix.settings.sitepermissions.SitePermissionsFragment"
Emily Kager's avatar
Emily Kager committed
551
        android:label="@string/preferences_site_permissions">
552 553
        <action
            android:id="@+id/action_site_permissions_to_manage_phone_features"
554
            app:destination="@id/SitePermissionsManagePhoneFeature"
555 556 557 558
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
            app:popExitAnim="@anim/slide_out_right"
Emily Kager's avatar
Emily Kager committed
559
            app:popUpTo="@id/sitePermissionsFragment" />
560 561
        <action
            android:id="@+id/action_site_permissions_to_exceptions"
Tiger Oakes's avatar
Tiger Oakes committed
562
            app:destination="@id/site_permissions_exceptions_graph"
563 564 565 566
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
            app:popExitAnim="@anim/slide_out_right"
Emily Kager's avatar
Emily Kager committed
567
            app:popUpTo="@id/sitePermissionsFragment" />
568 569
    </fragment>

Emily Kager's avatar
Emily Kager committed
570 571 572
    <fragment
        android:id="@+id/accessibilityFragment"
        android:name="org.mozilla.fenix.settings.AccessibilityFragment"
573
        android:label="@string/preferences_accessibility" />
Emily Kager's avatar
Emily Kager committed
574 575
    <fragment
        android:id="@+id/accountSettingsFragment"
576
        android:name="org.mozilla.fenix.settings.account.AccountSettingsFragment"
577 578 579 580 581
        android:label="@string/preferences_account_settings">
        <action
            android:id="@+id/action_accountSettingsFragment_to_signOutFragment"
            app:destination="@id/signOutFragment" />
    </fragment>
582

583
    <fragment
584
        android:id="@+id/turnOnSyncFragment"
585
        android:name="org.mozilla.fenix.settings.account.TurnOnSyncFragment"
586 587
        android:label="@string/preferences_sync"
        tools:layout="@layout/fragment_turn_on_sync">
588 589
        <argument
            android:name="padSnackbar"
ekager's avatar
ekager committed
590 591
            android:defaultValue="false"
            app:argType="boolean" />
592
        <action
593 594
            android:id="@+id/action_turnOnSyncFragment_to_pairFragment"
            app:destination="@id/pairFragment" />
595 596 597 598 599
    </fragment>

    <fragment
        android:id="@+id/pairFragment"
        android:name="org.mozilla.fenix.settings.PairFragment"
600 601
        android:label="@string/preferences_sync"
        tools:layout="@layout/fragment_pair" />
602

603 604
    <fragment
        android:id="@+id/aboutFragment"
605 606 607 608 609 610 611 612 613 614
        android:name="org.mozilla.fenix.settings.about.AboutFragment"
        tools:layout="@layout/fragment_about">
        <action
            android:id="@+id/action_aboutFragment_to_aboutLibrariesFragment"
            app:destination="@id/aboutLibrariesFragment"
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
            app:popExitAnim="@anim/slide_out_right" />
    </fragment>
615 616
    <fragment
        android:id="@+id/secretSettingsPreference"
617
        android:name="org.mozilla.fenix.settings.SecretSettingsFragment"
618
        android:label="@string/preferences_debug_settings" />
Emily Kager's avatar
Emily Kager committed
619 620
    <fragment
        android:id="@+id/crashReporterFragment"
621 622
        android:name="org.mozilla.fenix.crashes.CrashReporterFragment"
        tools:layout="@layout/fragment_crash_reporter">
Emily Kager's avatar
Emily Kager committed
623 624 625
        <argument
            android:name="crashIntent"
            app:argType="android.content.Intent" />
626
    </fragment>
627 628 629 630
    <fragment
        android:id="@+id/aboutLibrariesFragment"
        android:name="org.mozilla.fenix.settings.about.AboutLibrariesFragment"
        tools:layout="@layout/fragment_about_libraries" />
Emily Kager's avatar
Emily Kager committed
631
    <fragment
632 633 634
        android:id="@+id/customizationFragment"
        android:name="org.mozilla.fenix.settings.CustomizationFragment"
        android:label="@string/preferences_customize" />
635 636 637 638
    <fragment
        android:id="@+id/privateBrowsingFragment"
        android:name="org.mozilla.fenix.settings.PrivateBrowsingFragment"
        android:label="@string/preferences_private_browsing_options" />
639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655
    <fragment
        android:id="@+id/torNetworkSettingsFragment"
        android:name="org.mozilla.fenix.settings.TorNetworkSettingsFragment">
        <action
            android:id="@+id/action_torNetworkSettingsFragment_to_torBridgeConfigFragment"
            app:destination="@id/torBridgeConfigFragment"
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
            app:popExitAnim="@anim/slide_out_right" />
    </fragment>
    <fragment
        android:id="@+id/torBridgeConfigFragment"
        android:name="org.mozilla.fenix.settings.TorBridgeConfigFragment"
        android:label="@string/preferences_tor_network_settings_bridge_config"
        tools:layout="@layout/fragment_tor_bridge_config" >
        </fragment>
656 657
    <fragment
        android:id="@+id/trackingProtectionFragment"
ekager's avatar
ekager committed
658
        android:name="org.mozilla.fenix.settings.TrackingProtectionFragment">
659 660
        <action
            android:id="@+id/action_trackingProtectionFragment_to_exceptionsFragment"
661
            app:destination="@id/trackingProtectionExceptionsFragment"
662 663 664
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
665
            app:popExitAnim="@anim/slide_out_right" />
666 667
        <action
            android:id="@+id/action_trackingProtectionFragment_to_trackingProtectionBlockingFragment"
668
            app:destination="@id/trackingProtectionBlockingFragment"
669 670 671
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
672
            app:popExitAnim="@anim/slide_out_right" />
673
    </fragment>
674 675
    <fragment
        android:id="@+id/deleteBrowsingDataFragment"
676
        android:name="org.mozilla.fenix.settings.deletebrowsingdata.DeleteBrowsingDataFragment"
677 678
        android:label="@string/preferences_delete_browsing_data"
        tools:layout="@layout/fragment_delete_browsing_data" />
679
    <fragment
680
        android:id="@+id/trackingProtectionExceptionsFragment"
681
        android:name="org.mozilla.fenix.exceptions.trackingprotection.TrackingProtectionExceptionsFragment"
682 683
        android:label="@string/preference_exceptions"
        tools:layout="@layout/fragment_exceptions" />
684
    <dialog
685 686
        android:id="@+id/collectionCreationFragment"
        android:name="org.mozilla.fenix.collections.CollectionCreationFragment"
ekager's avatar
ekager committed
687
        tools:layout="@layout/fragment_create_collection">
688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707
        <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="saveCollectionStep"
            app:argType="org.mozilla.fenix.collections.SaveCollectionStep"
            app:nullable="false" />
    </dialog>
708

709
    <dialog
ekager's avatar
ekager committed
710 711 712
        android:id="@+id/createShortcutFragment"
        android:name="org.mozilla.fenix.shortcut.CreateShortcutFragment"
        tools:layout="@layout/fragment_create_shortcut" />
713
    <dialog
714 715 716
        android:id="@+id/pwaOnboardingDialogFragment"
        android:name="org.mozilla.fenix.shortcut.PwaOnboardingDialogFragment"
        tools:layout="@layout/fragment_pwa_onboarding" />
717

718 719 720
    <dialog
        android:id="@+id/shareFragment"
        android:name="org.mozilla.fenix.share.ShareFragment"
721
        tools:layout="@layout/fragment_share">
722
        <argument
723 724
            android:name="data"
            app:argType="mozilla.components.concept.engine.prompt.ShareData[]" />
725
        <argument
726
            android:name="showPage"
ekager's avatar
ekager committed
727 728
            android:defaultValue="false"
            app:argType="boolean" />
729 730 731
        <action
            android:id="@+id/action_shareFragment_to_addNewDeviceFragment"
            app:destination="@id/addNewDeviceFragment" />
732
        <argument
ekager's avatar
ekager committed
733 734 735 736
            android:name="sessionId"
            android:defaultValue="null"
            app:argType="string"
            app:nullable="true" />
737 738 739 740 741
        <argument
            android:name="shareSubject"
            android:defaultValue="@null"
            app:argType="string"
            app:nullable="true" />
742
    </dialog>
743 744
    <dialog
        android:id="@+id/quickSettingsSheetDialogFragment"
745 746
        android:name="org.mozilla.fenix.settings.quicksettings.QuickSettingsSheetDialogFragment"
        tools:layout="@layout/fragment_quick_settings_dialog_sheet">
747 748 749
        <argument
            android:name="sessionId"
            app:argType="string" />
750 751 752
        <argument
            android:name="title"
            app:argType="string" />
753 754 755 756 757 758 759 760 761 762 763 764
        <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"
Emily Kager's avatar
Emily Kager committed
765 766
            android:defaultValue="80"
            app:argType="integer" />
Kate Glazko's avatar
Kate Glazko committed
767 768 769 770
        <argument
            android:name="certificateName"
            android:defaultValue=" "
            app:argType="string" />
771
    </dialog>
772 773
    <fragment
        android:id="@+id/accountProblemFragment"
774
        android:name="org.mozilla.fenix.settings.account.AccountProblemFragment">
775 776 777
        <action
            android:id="@+id/action_accountProblemFragment_to_signOutFragment"
            app:destination="@id/signOutFragment" />
778
    </fragment>
779 780
    <dialog
        android:id="@+id/signOutFragment"
781 782
        android:name="org.mozilla.fenix.settings.account.SignOutFragment"
        tools:layout="@layout/fragment_sign_out" />
783 784
    <dialog
        android:id="@+id/trackingProtectionPanelDialogFragment"
785 786
        android:name="org.mozilla.fenix.trackingprotection.TrackingProtectionPanelDialogFragment"
        tools:layout="@layout/fragment_tracking_protection">
787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802
        <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" />
    </dialog>
    <fragment
        android:id="@+id/trackingProtectionBlockingFragment"
803 804
        android:name="org.mozilla.fenix.trackingprotection.TrackingProtectionBlockingFragment"
        tools:layout="@layout/fragment_tracking_protection_blocking">
805
        <argument
mcarare's avatar
mcarare committed
806
            android:name="protectionMode"
807
            app:argType="org.mozilla.fenix.trackingprotection.TrackingProtectionMode" />
808
    </fragment>
809 810
    <fragment
        android:id="@+id/deleteBrowsingDataOnQuitFragment"
ekager's avatar
ekager committed
811
        android:name="org.mozilla.fenix.settings.deletebrowsingdata.DeleteBrowsingDataOnQuitFragment" />
812 813 814

    <fragment
        android:id="@+id/addNewDeviceFragment"
815 816
        android:name="org.mozilla.fenix.share.AddNewDeviceFragment"
        tools:layout="@layout/fragment_add_new_device" />
817 818
    <fragment
        android:id="@+id/localeSettingsFragment"
819 820
        android:name="org.mozilla.fenix.settings.advanced.LocaleSettingsFragment"
        tools:layout="@layout/fragment_locale_settings" />
821 822
    <fragment
        android:id="@+id/saveLoginSettingFragment"
823
        android:name="org.mozilla.fenix.settings.logins.fragment.SavedLoginsSettingFragment"
824
        android:label="SaveLoginSettingFragment" />
Gabriel Luong's avatar
Gabriel Luong committed
825 826
    <fragment
        android:id="@+id/webExtensionActionPopupFragment"
827 828
        android:name="org.mozilla.fenix.addons.WebExtensionActionPopupFragment"
        tools:layout="@layout/fragment_add_on_internal_settings">
Gabriel Luong's avatar
Gabriel Luong committed
829 830 831 832 833 834
        <argument
            android:name="webExtensionId"
            app:argType="string" />
        <argument
            android:name="webExtensionTitle"
            app:argType="string"
835
            app:nullable="true" />
Gabriel Luong's avatar
Gabriel Luong committed
836
    </fragment>
837 838
    <dialog
        android:id="@+id/tabHistoryDialogFragment"
839
        android:name="org.mozilla.fenix.tabhistory.TabHistoryDialogFragment"
840 841 842 843 844 845
        tools:layout="@layout/fragment_tab_history_dialog">
        <argument
            android:name="activeSessionId"
            app:argType="string"
            app:nullable="true" />
    </dialog>
Tiger Oakes's avatar
Tiger Oakes committed
846

847 848
    <navigation
        android:id="@+id/site_permissions_exceptions_graph"
Tiger Oakes's avatar
Tiger Oakes committed
849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886
        app:startDestination="@id/sitePermissionsExceptionsFragment">

        <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/sitePermissionsManageExceptionsPhoneFeatureFragment"
            android:name="org.mozilla.fenix.settings.sitepermissions.SitePermissionsManageExceptionsPhoneFeatureFragment"
            tools:layout="@layout/fragment_manage_site_permissions_feature_phone">
            <argument
                android:name="phoneFeature"
                app:argType="org.mozilla.fenix.settings.PhoneFeature" />
            <argument
                android:name="sitePermissions"
                app:argType="mozilla.components.feature.sitepermissions.SitePermissions" />
        </fragment>

        <fragment
            android:id="@+id/sitePermissionsDetailsExceptionsFragment"
            android:name="org.mozilla.fenix.settings.sitepermissions.SitePermissionsDetailsExceptionsFragment">
            <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>
    </navigation>

887 888
    <navigation
        android:id="@+id/addons_management_graph"
Tiger Oakes's avatar
Tiger Oakes committed
889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954
        app:startDestination="@id/addonsManagementFragment">
        <fragment
            android:id="@+id/addonsManagementFragment"
            android:name="org.mozilla.fenix.addons.AddonsManagementFragment"
            tools:layout="@layout/fragment_add_ons_management">
            <action
                android:id="@+id/action_addonsManagementFragment_to_addonDetailsFragment"
                app:destination="@id/addonDetailsFragment" />
            <action
                android:id="@+id/action_addonsManagementFragment_to_installedAddonDetails"
                app:destination="@id/installedAddonDetailsFragment" />
            <action
                android:id="@+id/action_addonsManagementFragment_to_notYetSupportedAddonFragment"
                app:destination="@id/notYetSupportedAddonFragment" />
        </fragment>
        <fragment
            android:id="@+id/installedAddonDetailsFragment"
            android:name="org.mozilla.fenix.addons.InstalledAddonDetailsFragment"
            tools:layout="@layout/fragment_installed_add_on_details">
            <action
                android:id="@+id/action_installedAddonFragment_to_addonInternalSettingsFragment"
                app:destination="@id/addonInternalSettingsFragment" />
            <action
                android:id="@+id/action_installedAddonFragment_to_addonDetailsFragment"
                app:destination="@id/addonDetailsFragment" />
            <action
                android:id="@+id/action_installedAddonFragment_to_addonPermissionsDetailsFragment"
                app:destination="@id/addonPermissionsDetailFragment" />
            <argument
                android:name="addon"
                app:argType="mozilla.components.feature.addons.Addon" />
        </fragment>
        <fragment
            android:id="@+id/notYetSupportedAddonFragment"
            android:name="org.mozilla.fenix.addons.NotYetSupportedAddonFragment"
            tools:layout="@layout/fragment_not_yet_supported_addons">
            <argument
                android:name="addons"
                app:argType="mozilla.components.feature.addons.Addon[]" />
        </fragment>
        <fragment
            android:id="@+id/addonPermissionsDetailFragment"
            android:name="org.mozilla.fenix.addons.AddonPermissionsDetailsFragment"
            tools:layout="@layout/fragment_add_on_permissions">
            <argument
                android:name="addon"
                app:argType="mozilla.components.feature.addons.Addon" />
        </fragment>
        <fragment
            android:id="@+id/addonInternalSettingsFragment"
            android:name="org.mozilla.fenix.addons.AddonInternalSettingsFragment"
            tools:layout="@layout/fragment_add_on_internal_settings">
            <argument
                android:name="addon"
                app:argType="mozilla.components.feature.addons.Addon" />
        </fragment>
        <fragment
            android:id="@+id/addonDetailsFragment"
            android:name="org.mozilla.fenix.addons.AddonDetailsFragment"
            tools:layout="@layout/fragment_add_on_details">
            <argument
                android:name="addon"
                app:argType="mozilla.components.feature.addons.Addon" />
        </fragment>
    </navigation>

955 956
    <navigation
        android:id="@+id/search_engine_graph"
Tiger Oakes's avatar
Tiger Oakes committed
957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979
        app:startDestination="@id/searchEngineFragment">
        <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/addSearchEngineFragment"
            android:name="org.mozilla.fenix.settings.search.AddSearchEngineFragment"
            tools:layout="@layout/fragment_add_search_engine" />
        <fragment
            android:id="@+id/editCustomSearchEngineFragment"
            android:name="org.mozilla.fenix.settings.search.EditCustomSearchEngineFragment"
            tools:layout="@layout/fragment_add_search_engine">
            <argument
                android:name="searchEngineIdentifier"
                app:argType="string" />
980 981 982
            <argument
                android:name="isDefaultSearchEngine"
                app:argType="boolean" />
Tiger Oakes's avatar
Tiger Oakes committed
983 984
        </fragment>
    </navigation>
Tiger Oakes's avatar
Tiger Oakes committed
985
</navigation>