nav_graph.xml 44.4 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

Yeon Taek Jeong's avatar
Yeon Taek Jeong committed
26
27
    <action
        android:id="@+id/action_global_search"
28
        app:destination="@id/searchFragment" />
Yeon Taek Jeong's avatar
Yeon Taek Jeong committed
29

30
31
32
33
    <action
        android:id="@+id/action_global_search_dialog"
        app:destination="@id/searchDialogFragment" />

ekager's avatar
ekager committed
34
35
36
37
    <action
        android:id="@+id/action_global_recently_closed"
        app:destination="@id/recentlyClosedFragment" />

38
39
40
41
42
43
44
45
46
47
48
    <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
49
        app:destination="@id/search_engine_graph" />
50
51
52
53
54
55
56
57
58
59
60
61
62
63
    <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"
64
        app:destination="@id/syncedTabsFragment" />
65
66
67
    <action
        android:id="@+id/action_global_torSecurityLevelFragment"
        app:destination="@id/torSecurityLevelFragment" />
68
69
70
71
72
73
74
75
76
    <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
77

78
79
    <action
        android:id="@+id/action_global_downloadsFragment"
Kate Glazko's avatar
Kate Glazko committed
80
        app:destination="@id/downloadsFragment" />
81
82
83
84
85
86
87
88
89
90
91
92
93
94
    <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
95
        app:destination="@id/addons_management_graph" />
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
    <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" />
114
115
116
    <action
        android:id="@+id/action_global_savedLoginsAuthFragment"
        app:destination="@id/savedLoginsAuthFragment" />
117
118
119
    <action
        android:id="@+id/action_global_tabHistoryDialogFragment"
        app:destination="@id/tabHistoryDialogFragment" />
120
121
122
    <action
        android:id="@+id/action_global_closeTabSettingsFragment"
        app:destination="@id/closeTabsSettingsFragment" />
123
124
125
    <action
        android:id="@+id/action_global_homeFragment"
        app:destination="@id/homeFragment" />
126
127
128
129

    <dialog
        android:id="@+id/tabTrayDialogFragment"
        android:name="org.mozilla.fenix.tabtray.TabTrayDialogFragment"
130
131
132
133
134
135
        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
136

137
138
139
140
    <fragment
        android:id="@+id/homeFragment"
        android:name="org.mozilla.fenix.home.HomeFragment"
        tools:layout="@layout/fragment_home">
141
142
143
144
        <argument
            android:name="focusOnAddressBar"
            android:defaultValue="false"
            app:argType="boolean" />
145
146
        <argument
            android:name="session_to_delete"
147
            android:defaultValue="@null"
148
            app:argType="string"
149
            app:nullable="true" />
150
151
152
153
154
155
156
        <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" />
157
    </fragment>
158

159
160
161
    <dialog
        android:id="@+id/searchDialogFragment"
        android:name="org.mozilla.fenix.searchdialog.SearchDialogFragment"
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
        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>
177

178
179
180
181
    <fragment
        android:id="@+id/searchFragment"
        android:name="org.mozilla.fenix.search.SearchFragment"
        tools:layout="@layout/fragment_search">
Emily Kager's avatar
Emily Kager committed
182
183
184
185
        <argument
            android:name="session_id"
            app:argType="string"
            app:nullable="true" />
186
187
        <argument
            android:name="pastedText"
188
            android:defaultValue="@null"
189
            app:argType="string"
190
            app:nullable="true" />
191
192
        <argument
            android:name="search_access_point"
193
194
            android:defaultValue="NONE"
            app:argType="org.mozilla.fenix.components.metrics.Event$PerformedSearch$SearchAccessPoint" />
195
    </fragment>
196

ekager's avatar
ekager committed
197
198
199
200
201
    <fragment
        android:id="@+id/recentlyClosedFragment"
        android:name="org.mozilla.fenix.library.recentlyclosed.RecentlyClosedFragment"
        android:label="@string/library_recently_closed_tabs" />

202
203
    <fragment
        android:id="@+id/SitePermissionsManagePhoneFeature"
204
        android:name="org.mozilla.fenix.settings.sitepermissions.SitePermissionsManagePhoneFeatureFragment"
205
206
        tools:layout="@layout/fragment_manage_site_permissions_feature_phone">
        <argument
207
208
            android:name="phoneFeature"
            app:argType="org.mozilla.fenix.settings.PhoneFeature" />
209
210
    </fragment>

211
212
213
    <fragment
        android:id="@+id/browserFragment"
        android:name="org.mozilla.fenix.browser.BrowserFragment"
214
        app:exitAnim="@anim/fade_out"
215
        tools:layout="@layout/fragment_browser">
216
217
        <action
            android:id="@+id/action_browserFragment_to_searchFragment"
218
            app:destination="@id/searchFragment"
219
            app:enterAnim="@anim/fade_in_up"
220
            app:popExitAnim="@anim/fade_out_down" />
221
        <argument
222
            android:name="activeSessionId"
223
224
            app:argType="string"
            app:nullable="true" />
225
226
227
        <action
            android:id="@+id/action_browserFragment_to_syncedTabsFragment"
            app:destination="@id/syncedTabsFragment" />
228
229
230
        <action
            android:id="@+id/action_browserFragment_to_settingsFragment"
            app:destination="@id/settingsFragment" />
231
        <action
ekager's avatar
ekager committed
232
233
            android:id="@+id/action_browserFragment_to_createShortcutFragment"
            app:destination="@id/createShortcutFragment" />
234
        <action
235
236
            android:id="@+id/action_browserFragment_to_pwaOnboardingDialogFragment"
            app:destination="@id/pwaOnboardingDialogFragment" />
237
238
239
        <action
            android:id="@+id/action_browserFragment_to_quickSettingsSheetDialogFragment"
            app:destination="@id/quickSettingsSheetDialogFragment" />
240
241
242
        <action
            android:id="@+id/action_browserFragment_to_trackingProtectionPanelDialogFragment"
            app:destination="@id/trackingProtectionPanelDialogFragment" />
243
244
245
        <action
            android:id="@+id/action_browserFragment_to_tabsTrayFragment"
            app:destination="@+id/tabTrayFragment" />
246
    </fragment>
247

Tiger Oakes's avatar
Tiger Oakes committed
248
    <fragment
249
250
251
        android:id="@+id/externalAppBrowserFragment"
        android:name="org.mozilla.fenix.customtabs.ExternalAppBrowserFragment"
        tools:layout="@layout/fragment_browser">
ekager's avatar
ekager committed
252
253
254
255
256
257
258
259
        <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
260
261
    </fragment>

262
263
264
265
    <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
266
        tools:layout="@layout/fragment_history" />
267

Kate Glazko's avatar
Kate Glazko committed
268
269
270
271
272
273
    <fragment
        android:id="@+id/downloadsFragment"
        android:name="org.mozilla.fenix.library.downloads.DownloadFragment"
        android:label="Downloads"
        tools:layout="@layout/fragment_downloads" />

274
275
276
277
278
279
280
281
282
283
    <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" />
284
285
286
        <action
            android:id="@+id/action_bookmarkFragment_to_bookmarkEditFragment"
            app:destination="@id/bookmarkEditFragment" />
287
288
289
        <action
            android:id="@+id/action_bookmarkFragment_to_bookmarkAddFolderFragment"
            app:destination="@id/bookmarkAddFolderFragment" />
290
291
292
293
294
295
296
297
298
    </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
299
            app:nullable="false" />
300
301
302
        <action
            android:id="@+id/action_bookmarkEditFragment_to_bookmarkSelectFolderFragment"
            app:destination="@id/bookmarkSelectFolderFragment" />
Mihai Eduard Badea's avatar
Mihai Eduard Badea committed
303
304
        <argument
            android:name="requiresSnackbarPaddingForToolbar"
305
306
            android:defaultValue="false"
            app:argType="boolean" />
307
308
309
310
311
312
313
314
315
316
317
318
319
320
    </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
321
            android:name="allowCreatingNewFolder"
Emily Kager's avatar
Emily Kager committed
322
323
            android:defaultValue="false"
            app:argType="boolean" />
324
325
326
327
328
        <argument
            android:name="hideFolderGuid"
            android:defaultValue="@null"
            app:nullable="true"
            app:argType="string" />
329
330
331
332
333
    </fragment>

    <fragment
        android:id="@+id/bookmarkAddFolderFragment"
        android:name="org.mozilla.fenix.library.bookmarks.addfolder.AddBookmarkFolderFragment"
334
335
        android:label="@string/bookmark_add_folder_fragment_label"
        tools:layout="@layout/fragment_edit_bookmark">
336
337
338
        <action
            android:id="@+id/action_bookmarkAddFolderFragment_to_bookmarkSelectFolderFragment"
            app:destination="@id/bookmarkSelectFolderFragment" />
339
    </fragment>
340

ekager's avatar
ekager committed
341
    <fragment
342
        android:id="@+id/savedLoginsAuthFragment"
343
        android:name="org.mozilla.fenix.settings.logins.fragment.SavedLoginsAuthFragment"
ekager's avatar
ekager committed
344
345
        android:label="@string/preferences_passwords_logins_and_passwords">
        <action
346
            android:id="@+id/action_savedLoginsAuthFragment_to_loginsListFragment"
347
            app:destination="@id/savedLoginsFragment"
348
349
350
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
351
            app:popExitAnim="@anim/slide_out_right" />
ekager's avatar
ekager committed
352
        <action
353
            android:id="@+id/action_savedLoginsAuthFragment_to_turnOnSyncFragment"
354
            app:destination="@id/turnOnSyncFragment"
355
356
357
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
358
            app:popExitAnim="@anim/slide_out_right" />
359
        <action
360
            android:id="@+id/action_savedLoginsAuthFragment_to_savedLoginsSettingFragment"
361
            app:destination="@id/saveLoginSettingFragment"
362
363
364
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
365
366
367
368
369
370
371
372
            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
373
374
    </fragment>

375
376
    <fragment
        android:id="@+id/savedLoginsFragment"
377
        android:name="org.mozilla.fenix.settings.logins.fragment.SavedLoginsFragment"
378
379
380
381
382
383
384
385
386
387
388
        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>

389
390
391
392
    <fragment
        android:id="@+id/syncedTabsFragment"
        android:name="org.mozilla.fenix.sync.SyncedTabsFragment"
        android:label="@string/synced_tabs"
393
        tools:layout="@layout/fragment_synced_tabs" />
394
395
396

    <fragment
        android:id="@+id/loginExceptionsFragment"
397
        android:name="org.mozilla.fenix.exceptions.login.LoginExceptionsFragment"
398
        android:label="@string/preferences_passwords_exceptions"
399
        tools:layout="@layout/fragment_exceptions" />
400

401
402
    <fragment
        android:id="@+id/loginDetailFragment"
403
        android:name="org.mozilla.fenix.settings.logins.fragment.LoginDetailFragment"
404
405
406
407
        tools:layout="@layout/fragment_login_detail">
        <argument
            android:name="savedLoginId"
            app:argType="string"
408
            app:nullable="false" />
409
410
411
412
        <action
            android:id="@+id/action_loginDetailFragment_to_editLoginFragment"
            app:destination="@id/editLoginFragment"
            app:popUpTo="@id/editLoginFragment"
413
            app:popUpToInclusive="true" />
414
415
416
417
    </fragment>

    <fragment
        android:id="@+id/editLoginFragment"
418
        android:name="org.mozilla.fenix.settings.logins.fragment.EditLoginFragment"
419
420
        android:label="@string/edit"
        tools:layout="@layout/fragment_edit_login">
421
422
423
        <argument
            android:name="savedLoginItem"
            app:argType="org.mozilla.fenix.settings.logins.SavedLogin"
424
            app:nullable="false" />
425
426
427
428
        <action
            android:id="@+id/action_editLoginFragment_to_loginDetailFragment"
            app:destination="@id/loginDetailFragment"
            app:popUpTo="@id/loginDetailFragment"
429
            app:popUpToInclusive="true" />
430
431
    </fragment>

432
433
434
    <fragment
        android:id="@+id/settingsFragment"
        android:name="org.mozilla.fenix.settings.SettingsFragment"
Emily Kager's avatar
Emily Kager committed
435
        android:label="@string/settings_title">
436
437
438
439
440
        <argument
            android:name="preference_to_scroll_to"
            android:defaultValue="@null"
            app:argType="string"
            app:nullable="true" />
Emily Kager's avatar
Emily Kager committed
441
442
        <action
            android:id="@+id/action_settingsFragment_to_dataChoicesFragment"
443
            app:destination="@id/dataChoicesFragment"
444
445
446
447
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
            app:popExitAnim="@anim/slide_out_right"
448
            app:popUpTo="@id/settingsFragment" />
Emily Kager's avatar
Emily Kager committed
449
450
        <action
            android:id="@+id/action_settingsFragment_to_sitePermissionsFragment"
451
            app:destination="@id/sitePermissionsFragment"
452
453
454
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
455
            app:popExitAnim="@anim/slide_out_right" />
ekager's avatar
ekager committed
456
        <action
457
            android:id="@+id/action_settingsFragment_to_savedLoginsAuthFragment"
458
            app:destination="@id/savedLoginsAuthFragment"
459
460
461
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
462
            app:popExitAnim="@anim/slide_out_right" />
Emily Kager's avatar
Emily Kager committed
463
464
        <action
            android:id="@+id/action_settingsFragment_to_accessibilityFragment"
465
            app:destination="@id/accessibilityFragment"
466
467
468
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
469
            app:popExitAnim="@anim/slide_out_right" />
Emily Kager's avatar
Emily Kager committed
470
471
        <action
            android:id="@+id/action_settingsFragment_to_accountSettingsFragment"
472
            app:destination="@id/accountSettingsFragment"
473
474
475
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
476
            app:popExitAnim="@anim/slide_out_right" />
477
478
        <action
            android:id="@+id/action_settingsFragment_to_searchEngineFragment"
Tiger Oakes's avatar
Tiger Oakes committed
479
            app:destination="@id/search_engine_graph"
480
481
482
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
483
            app:popExitAnim="@anim/slide_out_right" />
484
        <action
485
            android:id="@+id/action_settingsFragment_to_turnOnSyncFragment"
486
            app:destination="@id/turnOnSyncFragment"
487
488
489
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
490
            app:popExitAnim="@anim/slide_out_right" />
491
492
        <action
            android:id="@+id/action_settingsFragment_to_aboutFragment"
493
            app:destination="@id/aboutFragment"
494
495
496
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
497
            app:popExitAnim="@anim/slide_out_right" />
498
499
        <action
            android:id="@+id/action_settingsFragment_to_secretSettingsFragment"
500
            app:destination="@id/secretSettingsPreference"
501
502
503
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
504
            app:popExitAnim="@anim/slide_out_right" />
Emily Kager's avatar
Emily Kager committed
505
        <action
506
            android:id="@+id/action_settingsFragment_to_customizationFragment"
507
            app:destination="@id/customizationFragment"
508
509
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
510
511
512
513
514
515
516
            app:popEnterAnim="@anim/slide_in_left"
            app:popExitAnim="@anim/slide_out_right" />
        <action
            android:id="@+id/action_settingsFragment_to_torSecurityLevelFragment"
            app:destination="@id/torSecurityLevelFragment"
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
517
            app:popEnterAnim="@anim/slide_in_left"
518
            app:popExitAnim="@anim/slide_out_right" />
519
520
        <action
            android:id="@+id/action_settingsFragment_to_privateBrowsingFragment"
521
            app:destination="@id/privateBrowsingFragment"
522
523
524
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
525
            app:popExitAnim="@anim/slide_out_right" />
526
527
528
529
530
531
532
        <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" />
533
534
        <action
            android:id="@+id/action_settingsFragment_to_trackingProtectionFragment"
535
            app:destination="@id/trackingProtectionFragment"
536
537
538
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
539
            app:popExitAnim="@anim/slide_out_right" />
540
541
        <action
            android:id="@+id/action_settingsFragment_to_deleteBrowsingDataFragment"
542
            app:destination="@id/deleteBrowsingDataFragment"
543
544
545
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
546
            app:popExitAnim="@anim/slide_out_right" />
547
548
        <action
            android:id="@+id/action_settingsFragment_to_accountProblemFragment"
549
            app:destination="@id/accountProblemFragment"
550
551
552
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
553
            app:popExitAnim="@anim/slide_out_right" />
554
555
        <action
            android:id="@+id/action_settingsFragment_to_deleteBrowsingDataOnQuitFragment"
556
            app:destination="@id/deleteBrowsingDataOnQuitFragment"
557
558
559
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
560
            app:popExitAnim="@anim/slide_out_right" />
561
562
        <action
            android:id="@+id/action_settingsFragment_to_localeSettingsFragment"
563
            app:destination="@id/localeSettingsFragment"
564
565
566
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
567
            app:popExitAnim="@anim/slide_out_right" />
Gabriel Luong's avatar
Gabriel Luong committed
568
569
        <action
            android:id="@+id/action_settingsFragment_to_addonsFragment"
Tiger Oakes's avatar
Tiger Oakes committed
570
            app:destination="@id/addons_management_graph"
571
572
573
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
574
            app:popExitAnim="@anim/slide_out_right" />
575
576
577
578
579
580
581
        <action
            android:id="@+id/action_settingsFragment_to_closeTabsSettingsFragment"
            app:destination="@id/closeTabsSettingsFragment"
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
            app:popExitAnim="@anim/slide_out_right" />
582
    </fragment>
583
584
585
586
    <fragment
        android:id="@+id/closeTabsSettingsFragment"
        android:name="org.mozilla.fenix.settings.CloseTabsSettingsFragment"
        android:label="@string/preferences_close_tabs" />
587
    <fragment
Emily Kager's avatar
Emily Kager committed
588
589
        android:id="@+id/dataChoicesFragment"
        android:name="org.mozilla.fenix.settings.DataChoicesFragment"
590
        android:label="@string/preferences_data_choices" />
Emily Kager's avatar
Emily Kager committed
591
592
    <fragment
        android:id="@+id/sitePermissionsFragment"
593
        android:name="org.mozilla.fenix.settings.sitepermissions.SitePermissionsFragment"
Emily Kager's avatar
Emily Kager committed
594
        android:label="@string/preferences_site_permissions">
595
596
        <action
            android:id="@+id/action_site_permissions_to_manage_phone_features"
597
            app:destination="@id/SitePermissionsManagePhoneFeature"
598
599
600
601
            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
602
            app:popUpTo="@id/sitePermissionsFragment" />
603
604
        <action
            android:id="@+id/action_site_permissions_to_exceptions"
Tiger Oakes's avatar
Tiger Oakes committed
605
            app:destination="@id/site_permissions_exceptions_graph"
606
607
608
609
            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
610
            app:popUpTo="@id/sitePermissionsFragment" />
611
612
    </fragment>

Emily Kager's avatar
Emily Kager committed
613
614
615
    <fragment
        android:id="@+id/accessibilityFragment"
        android:name="org.mozilla.fenix.settings.AccessibilityFragment"
616
        android:label="@string/preferences_accessibility" />
Emily Kager's avatar
Emily Kager committed
617
618
    <fragment
        android:id="@+id/accountSettingsFragment"
619
        android:name="org.mozilla.fenix.settings.account.AccountSettingsFragment"
620
621
622
623
624
        android:label="@string/preferences_account_settings">
        <action
            android:id="@+id/action_accountSettingsFragment_to_signOutFragment"
            app:destination="@id/signOutFragment" />
    </fragment>
625

626
    <fragment
627
        android:id="@+id/turnOnSyncFragment"
628
        android:name="org.mozilla.fenix.settings.account.TurnOnSyncFragment"
629
630
        android:label="@string/preferences_sync"
        tools:layout="@layout/fragment_turn_on_sync">
631
632
        <argument
            android:name="padSnackbar"
ekager's avatar
ekager committed
633
634
            android:defaultValue="false"
            app:argType="boolean" />
635
        <action
636
637
            android:id="@+id/action_turnOnSyncFragment_to_pairFragment"
            app:destination="@id/pairFragment" />
638
639
640
641
642
    </fragment>

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

646
647
    <fragment
        android:id="@+id/aboutFragment"
648
649
650
651
652
653
654
655
656
657
        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>
658
659
    <fragment
        android:id="@+id/secretSettingsPreference"
660
        android:name="org.mozilla.fenix.settings.SecretSettingsFragment"
661
        android:label="@string/preferences_debug_settings" />
Emily Kager's avatar
Emily Kager committed
662
663
    <fragment
        android:id="@+id/crashReporterFragment"
664
665
        android:name="org.mozilla.fenix.crashes.CrashReporterFragment"
        tools:layout="@layout/fragment_crash_reporter">
Emily Kager's avatar
Emily Kager committed
666
667
668
        <argument
            android:name="crashIntent"
            app:argType="android.content.Intent" />
669
    </fragment>
670
671
672
673
    <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
674
    <fragment
675
676
677
        android:id="@+id/customizationFragment"
        android:name="org.mozilla.fenix.settings.CustomizationFragment"
        android:label="@string/preferences_customize" />
678
679
680
681
    <fragment
        android:id="@+id/torSecurityLevelFragment"
        android:name="org.mozilla.fenix.settings.TorSecurityLevelFragment"
        android:label="@string/preferences_tor_security_level_settings" />
682
683
684
685
    <fragment
        android:id="@+id/privateBrowsingFragment"
        android:name="org.mozilla.fenix.settings.PrivateBrowsingFragment"
        android:label="@string/preferences_private_browsing_options" />
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
    <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>
703
704
    <fragment
        android:id="@+id/trackingProtectionFragment"
ekager's avatar
ekager committed
705
        android:name="org.mozilla.fenix.settings.TrackingProtectionFragment">
706
707
        <action
            android:id="@+id/action_trackingProtectionFragment_to_exceptionsFragment"
708
            app:destination="@id/trackingProtectionExceptionsFragment"
709
710
711
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
712
            app:popExitAnim="@anim/slide_out_right" />
713
714
        <action
            android:id="@+id/action_trackingProtectionFragment_to_trackingProtectionBlockingFragment"
715
            app:destination="@id/trackingProtectionBlockingFragment"
716
717
718
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
719
            app:popExitAnim="@anim/slide_out_right" />
720
    </fragment>
721
722
    <fragment
        android:id="@+id/deleteBrowsingDataFragment"
723
        android:name="org.mozilla.fenix.settings.deletebrowsingdata.DeleteBrowsingDataFragment"
724
725
        android:label="@string/preferences_delete_browsing_data"
        tools:layout="@layout/fragment_delete_browsing_data" />
726
    <fragment
727
        android:id="@+id/trackingProtectionExceptionsFragment"
728
        android:name="org.mozilla.fenix.exceptions.trackingprotection.TrackingProtectionExceptionsFragment"
729
730
        android:label="@string/preference_exceptions"
        tools:layout="@layout/fragment_exceptions" />
731
    <dialog
732
733
        android:id="@+id/collectionCreationFragment"
        android:name="org.mozilla.fenix.collections.CollectionCreationFragment"
ekager's avatar
ekager committed
734
        tools:layout="@layout/fragment_create_collection">
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
        <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>
755

756
    <dialog
ekager's avatar
ekager committed
757
758
759
        android:id="@+id/createShortcutFragment"
        android:name="org.mozilla.fenix.shortcut.CreateShortcutFragment"
        tools:layout="@layout/fragment_create_shortcut" />
760
    <dialog
761
762
763
        android:id="@+id/pwaOnboardingDialogFragment"
        android:name="org.mozilla.fenix.shortcut.PwaOnboardingDialogFragment"
        tools:layout="@layout/fragment_pwa_onboarding" />
764

765
766
767
    <dialog
        android:id="@+id/shareFragment"
        android:name="org.mozilla.fenix.share.ShareFragment"
768
        tools:layout="@layout/fragment_share">
769
        <argument
770
771
            android:name="data"
            app:argType="mozilla.components.concept.engine.prompt.ShareData[]" />
772
        <argument
773
            android:name="showPage"
ekager's avatar
ekager committed
774
775
            android:defaultValue="false"
            app:argType="boolean" />
776
777
778
        <action
            android:id="@+id/action_shareFragment_to_addNewDeviceFragment"
            app:destination="@id/addNewDeviceFragment" />
779
        <argument
ekager's avatar
ekager committed
780
781
782
783
            android:name="sessionId"
            android:defaultValue="null"
            app:argType="string"
            app:nullable="true" />
784
785
786
787
788
        <argument
            android:name="shareSubject"
            android:defaultValue="@null"
            app:argType="string"
            app:nullable="true" />
789
    </dialog>
790
791
    <dialog
        android:id="@+id/quickSettingsSheetDialogFragment"
792
793
        android:name="org.mozilla.fenix.settings.quicksettings.QuickSettingsSheetDialogFragment"
        tools:layout="@layout/fragment_quick_settings_dialog_sheet">
794
795
796
        <argument
            android:name="sessionId"
            app:argType="string" />
797
798
799
        <argument
            android:name="title"
            app:argType="string" />
800
801
802
803
804
805
806
807
808
809
810
811
        <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
812
813
            android:defaultValue="80"
            app:argType="integer" />
Kate Glazko's avatar
Kate Glazko committed
814
815
816
817
        <argument
            android:name="certificateName"
            android:defaultValue=" "
            app:argType="string" />
818
    </dialog>
819
820
    <fragment
        android:id="@+id/accountProblemFragment"
821
        android:name="org.mozilla.fenix.settings.account.AccountProblemFragment">
822
823
824
        <action
            android:id="@+id/action_accountProblemFragment_to_signOutFragment"
            app:destination="@id/signOutFragment" />
825
    </fragment>
826
827
    <dialog
        android:id="@+id/signOutFragment"
828
829
        android:name="org.mozilla.fenix.settings.account.SignOutFragment"
        tools:layout="@layout/fragment_sign_out" />
830
831
    <dialog
        android:id="@+id/trackingProtectionPanelDialogFragment"
832
833
        android:name="org.mozilla.fenix.trackingprotection.TrackingProtectionPanelDialogFragment"
        tools:layout="@layout/fragment_tracking_protection">
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
        <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"
850
851
        android:name="org.mozilla.fenix.trackingprotection.TrackingProtectionBlockingFragment"
        tools:layout="@layout/fragment_tracking_protection_blocking">
852
        <argument
mcarare's avatar
mcarare committed
853
            android:name="protectionMode"
854
            app:argType="org.mozilla.fenix.trackingprotection.TrackingProtectionMode" />
855
    </fragment>
856
857
    <fragment
        android:id="@+id/deleteBrowsingDataOnQuitFragment"
ekager's avatar
ekager committed
858
        android:name="org.mozilla.fenix.settings.deletebrowsingdata.DeleteBrowsingDataOnQuitFragment" />
859
860
861

    <fragment
        android:id="@+id/addNewDeviceFragment"
862
863
        android:name="org.mozilla.fenix.share.AddNewDeviceFragment"
        tools:layout="@layout/fragment_add_new_device" />
864
865
    <fragment
        android:id="@+id/localeSettingsFragment"
866
867
        android:name="org.mozilla.fenix.settings.advanced.LocaleSettingsFragment"
        tools:layout="@layout/fragment_locale_settings" />
868
869
    <fragment
        android:id="@+id/saveLoginSettingFragment"
870
        android:name="org.mozilla.fenix.settings.logins.fragment.SavedLoginsSettingFragment"
871
        android:label="SaveLoginSettingFragment" />
Gabriel Luong's avatar
Gabriel Luong committed
872
873
    <fragment
        android:id="@+id/webExtensionActionPopupFragment"
874
875
        android:name="org.mozilla.fenix.addons.WebExtensionActionPopupFragment"
        tools:layout="@layout/fragment_add_on_internal_settings">
Gabriel Luong's avatar
Gabriel Luong committed
876
877
878
879
880
881
        <argument
            android:name="webExtensionId"
            app:argType="string" />
        <argument
            android:name="webExtensionTitle"
            app:argType="string"
882
            app:nullable="true" />
Gabriel Luong's avatar
Gabriel Luong committed
883
    </fragment>
884
885
    <dialog
        android:id="@+id/tabHistoryDialogFragment"
886
        android:name="org.mozilla.fenix.tabhistory.TabHistoryDialogFragment"
887
888
889
890
891
892
        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
893

894
895
    <navigation
        android:id="@+id/site_permissions_exceptions_graph"
Tiger Oakes's avatar
Tiger Oakes committed
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
        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>

934
935
    <navigation
        android:id="@+id/addons_management_graph"
Tiger Oakes's avatar
Tiger Oakes committed
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
        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>
For faster browsing, not all history is shown. View entire blame