nav_graph.xml 43.7 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
68
69
70
71
72
73
    <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
74

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

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

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

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

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

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

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

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

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

259
260
261
262
    <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
263
        tools:layout="@layout/fragment_history" />
264

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

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

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

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

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

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

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

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

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

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

Emily Kager's avatar
Emily Kager committed
603
604
605
    <fragment
        android:id="@+id/accessibilityFragment"
        android:name="org.mozilla.fenix.settings.AccessibilityFragment"
606
        android:label="@string/preferences_accessibility" />
Emily Kager's avatar
Emily Kager committed
607
608
    <fragment
        android:id="@+id/accountSettingsFragment"
609
        android:name="org.mozilla.fenix.settings.account.AccountSettingsFragment"
610
611
612
613
614
        android:label="@string/preferences_account_settings">
        <action
            android:id="@+id/action_accountSettingsFragment_to_signOutFragment"
            app:destination="@id/signOutFragment" />
    </fragment>
615

616
    <fragment
617
        android:id="@+id/turnOnSyncFragment"
618
        android:name="org.mozilla.fenix.settings.account.TurnOnSyncFragment"
619
620
        android:label="@string/preferences_sync"
        tools:layout="@layout/fragment_turn_on_sync">
621
622
        <argument
            android:name="padSnackbar"
ekager's avatar
ekager committed
623
624
            android:defaultValue="false"
            app:argType="boolean" />
625
        <action
626
627
            android:id="@+id/action_turnOnSyncFragment_to_pairFragment"
            app:destination="@id/pairFragment" />
628
629
630
631
632
    </fragment>

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

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

742
    <dialog
ekager's avatar
ekager committed
743
744
745
        android:id="@+id/createShortcutFragment"
        android:name="org.mozilla.fenix.shortcut.CreateShortcutFragment"
        tools:layout="@layout/fragment_create_shortcut" />
746
    <dialog
747
748
749
        android:id="@+id/pwaOnboardingDialogFragment"
        android:name="org.mozilla.fenix.shortcut.PwaOnboardingDialogFragment"
        tools:layout="@layout/fragment_pwa_onboarding" />
750

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

    <fragment
        android:id="@+id/addNewDeviceFragment"
848
849
        android:name="org.mozilla.fenix.share.AddNewDeviceFragment"
        tools:layout="@layout/fragment_add_new_device" />
850
851
    <fragment
        android:id="@+id/localeSettingsFragment"
852
853
        android:name="org.mozilla.fenix.settings.advanced.LocaleSettingsFragment"
        tools:layout="@layout/fragment_locale_settings" />
854
855
    <fragment
        android:id="@+id/saveLoginSettingFragment"
856
        android:name="org.mozilla.fenix.settings.logins.fragment.SavedLoginsSettingFragment"
857
        android:label="SaveLoginSettingFragment" />
Gabriel Luong's avatar
Gabriel Luong committed
858
859
    <fragment
        android:id="@+id/webExtensionActionPopupFragment"
860
861
        android:name="org.mozilla.fenix.addons.WebExtensionActionPopupFragment"
        tools:layout="@layout/fragment_add_on_internal_settings">
Gabriel Luong's avatar
Gabriel Luong committed
862
863
864
865
866
867
        <argument
            android:name="webExtensionId"
            app:argType="string" />
        <argument
            android:name="webExtensionTitle"
            app:argType="string"
868
            app:nullable="true" />
Gabriel Luong's avatar
Gabriel Luong committed
869
    </fragment>
870
871
    <dialog
        android:id="@+id/tabHistoryDialogFragment"
872
        android:name="org.mozilla.fenix.tabhistory.TabHistoryDialogFragment"
873
874
875
876
877
878
        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
879

880
881
    <navigation
        android:id="@+id/site_permissions_exceptions_graph"
Tiger Oakes's avatar
Tiger Oakes committed
882
883
884
885
886
887
888
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
        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>

920
921
    <navigation
        android:id="@+id/addons_management_graph"
Tiger Oakes's avatar
Tiger Oakes committed
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
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
        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>

988
989
    <navigation
        android:id="@+id/search_engine_graph"
Tiger Oakes's avatar
Tiger Oakes committed
990
991
992
993
994
995
996
997
998
999
1000
        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" />
For faster browsing, not all history is shown. View entire blame