[fenix] For https://github.com/mozilla-mobile/fenix/issues/15115 - Part 1: Convert...
[gecko.git] / mobile / android / fenix / app / src / main / res / navigation / nav_graph.xml
blob2fca420f10ad88ee13bd5330bbd579370cdce343
1 <?xml version="1.0" encoding="utf-8"?>
2 <navigation xmlns:android="http://schemas.android.com/apk/res/android"
3     xmlns:app="http://schemas.android.com/apk/res-auto"
4     xmlns:tools="http://schemas.android.com/tools"
5     android:id="@+id/nav_graph"
6     app:startDestination="@id/homeFragment">
8     <action
9         android:id="@+id/action_global_home"
10         app:destination="@id/homeFragment"
11         app:popUpTo="@id/homeFragment"
12         app:popUpToInclusive="true" />
14     <action
15         android:id="@+id/action_global_browser"
16         app:destination="@id/browserFragment"
17         app:popUpTo="@id/homeFragment"
18         app:popUpToInclusive="false" />
20     <action
21         android:id="@+id/action_global_external_app_browser"
22         app:destination="@id/externalAppBrowserFragment"
23         app:popUpTo="@id/homeFragment"
24         app:popUpToInclusive="false" />
26     <action
27         android:id="@+id/action_global_search_dialog"
28         app:destination="@id/searchDialogFragment" />
30     <action
31         android:id="@+id/action_global_recently_closed"
32         app:destination="@id/recentlyClosedFragment" />
34     <action
35         android:id="@+id/action_global_shareFragment"
36         app:destination="@id/shareFragment" />
37     <action
38         android:id="@+id/action_global_crash_reporter"
39         app:destination="@id/crashReporterFragment" />
40     <action
41         android:id="@+id/action_global_turn_on_sync"
42         app:destination="@id/turnOnSyncFragment" />
43     <action
44         android:id="@+id/action_global_searchEngineFragment"
45         app:destination="@id/search_engine_graph" />
46     <action
47         android:id="@+id/action_global_accessibilityFragment"
48         app:destination="@id/accessibilityFragment" />
49     <action
50         android:id="@+id/action_global_deleteBrowsingDataFragment"
51         app:destination="@id/deleteBrowsingDataFragment" />
52     <action
53         android:id="@+id/action_global_webExtensionActionPopupFragment"
54         app:destination="@id/webExtensionActionPopupFragment" />
55     <action
56         android:id="@+id/action_global_settingsFragment"
57         app:destination="@id/settingsFragment" />
58     <action
59         android:id="@+id/action_global_syncedTabsFragment"
60         app:destination="@id/syncedTabsFragment" />
61     <action
62         android:id="@+id/action_global_privateBrowsingFragment"
63         app:destination="@id/privateBrowsingFragment" />
64     <action
65         android:id="@+id/action_global_bookmarkFragment"
66         app:destination="@id/bookmarkFragment" />
67     <action
68         android:id="@+id/action_global_historyFragment"
69         app:destination="@id/historyFragment" />
71     <action
72         android:id="@+id/action_global_downloadsFragment"
73         app:destination="@id/downloadsFragment" />
74     <action
75         android:id="@+id/action_global_accountProblemFragment"
76         app:destination="@id/accountProblemFragment" />
77     <action
78         android:id="@+id/action_global_SitePermissionsManagePhoneFeature"
79         app:destination="@id/SitePermissionsManagePhoneFeature" />
80     <action
81         android:id="@+id/action_global_collectionCreationFragment"
82         app:destination="@id/collectionCreationFragment" />
83     <action
84         android:id="@+id/action_global_bookmarkEditFragment"
85         app:destination="@id/bookmarkEditFragment" />
86     <action
87         android:id="@+id/action_global_addonsManagementFragment"
88         app:destination="@id/addons_management_graph" />
89     <action
90         android:id="@+id/action_global_trackingProtectionFragment"
91         app:destination="@id/trackingProtectionFragment" />
92     <action
93         android:id="@+id/action_global_trackingProtectionExceptionsFragment"
94         app:destination="@id/trackingProtectionExceptionsFragment" />
95     <action
96         android:id="@+id/action_global_accountSettingsFragment"
97         app:destination="@id/accountSettingsFragment" />
98     <action
99         android:id="@+id/action_global_trackingProtectionPanelDialogFragment"
100         app:destination="@id/trackingProtectionPanelDialogFragment" />
101     <action
102         android:id="@+id/action_global_quickSettingsSheetDialogFragment"
103         app:destination="@id/quickSettingsSheetDialogFragment" />
104     <action
105         android:id="@+id/action_global_tabTrayDialogFragment"
106         app:destination="@id/tabTrayDialogFragment" />
107     <action
108         android:id="@+id/action_global_savedLoginsAuthFragment"
109         app:destination="@id/savedLoginsAuthFragment" />
110     <action
111         android:id="@+id/action_global_tabHistoryDialogFragment"
112         app:destination="@id/tabHistoryDialogFragment" />
113     <action
114         android:id="@+id/action_global_tabSettingsFragment"
115         app:destination="@id/tabsSettingsFragment" />
117     <dialog
118         android:id="@+id/tabTrayDialogFragment"
119         android:name="org.mozilla.fenix.tabtray.TabTrayDialogFragment"
120         tools:layout="@layout/fragment_tab_tray_dialog">
121         <argument
122             android:name="enterMultiselect"
123             android:defaultValue="false"
124             app:argType="boolean" />
125     </dialog>
127     <fragment
128         android:id="@+id/homeFragment"
129         android:name="org.mozilla.fenix.home.HomeFragment"
130         tools:layout="@layout/fragment_home">
131         <argument
132             android:name="focusOnAddressBar"
133             android:defaultValue="false"
134             app:argType="boolean" />
135     </fragment>
137     <dialog
138         android:id="@+id/searchDialogFragment"
139         android:name="org.mozilla.fenix.search.SearchDialogFragment"
140         tools:layout="@layout/fragment_search_dialog">
141         <argument
142             android:name="session_id"
143             app:argType="string"
144             app:nullable="true" />
145         <argument
146             android:name="pastedText"
147             android:defaultValue="@null"
148             app:argType="string"
149             app:nullable="true" />
150         <argument
151             android:name="search_access_point"
152             android:defaultValue="NONE"
153             app:argType="org.mozilla.fenix.components.metrics.Event$PerformedSearch$SearchAccessPoint" />
154     </dialog>
156     <fragment
157         android:id="@+id/recentlyClosedFragment"
158         android:name="org.mozilla.fenix.library.recentlyclosed.RecentlyClosedFragment"
159         android:label="@string/library_recently_closed_tabs" />
161     <fragment
162         android:id="@+id/SitePermissionsManagePhoneFeature"
163         android:name="org.mozilla.fenix.settings.sitepermissions.SitePermissionsManagePhoneFeatureFragment"
164         tools:layout="@layout/fragment_manage_site_permissions_feature_phone">
165         <argument
166             android:name="phoneFeature"
167             app:argType="org.mozilla.fenix.settings.PhoneFeature" />
168     </fragment>
170     <fragment
171         android:id="@+id/browserFragment"
172         android:name="org.mozilla.fenix.browser.BrowserFragment"
173         app:exitAnim="@anim/fade_out"
174         tools:layout="@layout/fragment_browser">
175         <argument
176             android:name="activeSessionId"
177             app:argType="string"
178             app:nullable="true" />
179         <action
180             android:id="@+id/action_browserFragment_to_syncedTabsFragment"
181             app:destination="@id/syncedTabsFragment" />
182         <action
183             android:id="@+id/action_browserFragment_to_settingsFragment"
184             app:destination="@id/settingsFragment" />
185         <action
186             android:id="@+id/action_browserFragment_to_createShortcutFragment"
187             app:destination="@id/createShortcutFragment" />
188         <action
189             android:id="@+id/action_browserFragment_to_pwaOnboardingDialogFragment"
190             app:destination="@id/pwaOnboardingDialogFragment" />
191         <action
192             android:id="@+id/action_browserFragment_to_quickSettingsSheetDialogFragment"
193             app:destination="@id/quickSettingsSheetDialogFragment" />
194         <action
195             android:id="@+id/action_browserFragment_to_trackingProtectionPanelDialogFragment"
196             app:destination="@id/trackingProtectionPanelDialogFragment" />
197         <action
198             android:id="@+id/action_browserFragment_to_tabsTrayFragment"
199             app:destination="@+id/tabTrayFragment" />
200     </fragment>
202     <fragment
203         android:id="@+id/externalAppBrowserFragment"
204         android:name="org.mozilla.fenix.customtabs.ExternalAppBrowserFragment"
205         tools:layout="@layout/fragment_browser">
206         <argument
207             android:name="activeSessionId"
208             app:argType="string"
209             app:nullable="true" />
210         <argument
211             android:name="webAppManifest"
212             app:argType="string"
213             app:nullable="true" />
214     </fragment>
216     <fragment
217         android:id="@+id/historyFragment"
218         android:name="org.mozilla.fenix.library.history.HistoryFragment"
219         android:label="@string/library_history"
220         tools:layout="@layout/fragment_history" />
222     <fragment
223         android:id="@+id/downloadsFragment"
224         android:name="org.mozilla.fenix.library.downloads.DownloadFragment"
225         android:label="Downloads"
226         tools:layout="@layout/fragment_downloads" />
228     <fragment
229         android:id="@+id/bookmarkFragment"
230         android:name="org.mozilla.fenix.library.bookmarks.BookmarkFragment"
231         tools:layout="@layout/fragment_bookmark">
232         <argument
233             android:name="currentRoot"
234             app:argType="string" />
235         <action
236             android:id="@+id/action_bookmarkFragment_self"
237             app:destination="@id/bookmarkFragment" />
238         <action
239             android:id="@+id/action_bookmarkFragment_to_bookmarkEditFragment"
240             app:destination="@id/bookmarkEditFragment" />
241         <action
242             android:id="@+id/action_bookmarkFragment_to_bookmarkAddFolderFragment"
243             app:destination="@id/bookmarkAddFolderFragment" />
244     </fragment>
246     <fragment
247         android:id="@+id/bookmarkEditFragment"
248         android:name="org.mozilla.fenix.library.bookmarks.edit.EditBookmarkFragment"
249         tools:layout="@layout/fragment_edit_bookmark">
250         <argument
251             android:name="guidToEdit"
252             app:argType="string"
253             app:nullable="false" />
254         <action
255             android:id="@+id/action_bookmarkEditFragment_to_bookmarkSelectFolderFragment"
256             app:destination="@id/bookmarkSelectFolderFragment" />
257         <argument
258             android:name="requiresSnackbarPaddingForToolbar"
259             android:defaultValue="false"
260             app:argType="boolean" />
261     </fragment>
263     <fragment
264         android:id="@+id/bookmarkSelectFolderFragment"
265         android:name="org.mozilla.fenix.library.bookmarks.selectfolder.SelectBookmarkFolderFragment"
266         android:label="@string/bookmark_select_folder_fragment_label"
267         tools:layout="@layout/fragment_select_bookmark_folder">
268         <action
269             android:id="@+id/action_bookmarkSelectFolderFragment_self"
270             app:destination="@id/bookmarkSelectFolderFragment" />
271         <action
272             android:id="@+id/action_bookmarkSelectFolderFragment_to_bookmarkAddFolderFragment"
273             app:destination="@id/bookmarkAddFolderFragment" />
274         <argument
275             android:name="allowCreatingNewFolder"
276             android:defaultValue="false"
277             app:argType="boolean" />
278         <argument
279             android:name="hideFolderGuid"
280             android:defaultValue="@null"
281             app:nullable="true"
282             app:argType="string" />
283     </fragment>
285     <fragment
286         android:id="@+id/bookmarkAddFolderFragment"
287         android:name="org.mozilla.fenix.library.bookmarks.addfolder.AddBookmarkFolderFragment"
288         android:label="@string/bookmark_add_folder_fragment_label"
289         tools:layout="@layout/fragment_edit_bookmark">
290         <action
291             android:id="@+id/action_bookmarkAddFolderFragment_to_bookmarkSelectFolderFragment"
292             app:destination="@id/bookmarkSelectFolderFragment" />
293     </fragment>
295     <fragment
296         android:id="@+id/savedLoginsAuthFragment"
297         android:name="org.mozilla.fenix.settings.logins.fragment.SavedLoginsAuthFragment"
298         android:label="@string/preferences_passwords_logins_and_passwords">
299         <action
300             android:id="@+id/action_savedLoginsAuthFragment_to_loginsListFragment"
301             app:destination="@id/savedLoginsFragment"
302             app:enterAnim="@anim/slide_in_right"
303             app:exitAnim="@anim/slide_out_left"
304             app:popEnterAnim="@anim/slide_in_left"
305             app:popExitAnim="@anim/slide_out_right" />
306         <action
307             android:id="@+id/action_savedLoginsAuthFragment_to_turnOnSyncFragment"
308             app:destination="@id/turnOnSyncFragment"
309             app:enterAnim="@anim/slide_in_right"
310             app:exitAnim="@anim/slide_out_left"
311             app:popEnterAnim="@anim/slide_in_left"
312             app:popExitAnim="@anim/slide_out_right" />
313         <action
314             android:id="@+id/action_savedLoginsAuthFragment_to_savedLoginsSettingFragment"
315             app:destination="@id/saveLoginSettingFragment"
316             app:enterAnim="@anim/slide_in_right"
317             app:exitAnim="@anim/slide_out_left"
318             app:popEnterAnim="@anim/slide_in_left"
319             app:popExitAnim="@anim/slide_out_right" />
320         <action
321             android:id="@+id/action_savedLoginsAuthFragment_to_loginExceptionsFragment"
322             app:destination="@id/loginExceptionsFragment"
323             app:enterAnim="@anim/slide_in_right"
324             app:exitAnim="@anim/slide_out_left"
325             app:popEnterAnim="@anim/slide_in_left"
326             app:popExitAnim="@anim/slide_out_right" />
327     </fragment>
329     <fragment
330         android:id="@+id/savedLoginsFragment"
331         android:name="org.mozilla.fenix.settings.logins.fragment.SavedLoginsFragment"
332         tools:layout="@layout/fragment_saved_logins">
333         <action
334             android:id="@+id/action_savedLoginsFragment_to_loginDetailFragment"
335             app:destination="@id/loginDetailFragment" />
336         <action
337             android:id="@+id/action_savedLoginsFragment_to_browserFragment"
338             app:destination="@id/browserFragment"
339             app:popUpTo="@id/settingsFragment"
340             app:popUpToInclusive="true" />
341     </fragment>
343     <fragment
344         android:id="@+id/syncedTabsFragment"
345         android:name="org.mozilla.fenix.sync.SyncedTabsFragment"
346         android:label="@string/synced_tabs"
347         tools:layout="@layout/fragment_synced_tabs" />
349     <fragment
350         android:id="@+id/loginExceptionsFragment"
351         android:name="org.mozilla.fenix.exceptions.login.LoginExceptionsFragment"
352         android:label="@string/preferences_passwords_exceptions"
353         tools:layout="@layout/fragment_exceptions" />
355     <fragment
356         android:id="@+id/loginDetailFragment"
357         android:name="org.mozilla.fenix.settings.logins.fragment.LoginDetailFragment"
358         tools:layout="@layout/fragment_login_detail">
359         <argument
360             android:name="savedLoginId"
361             app:argType="string"
362             app:nullable="false" />
363         <action
364             android:id="@+id/action_loginDetailFragment_to_editLoginFragment"
365             app:destination="@id/editLoginFragment"
366             app:popUpTo="@id/editLoginFragment"
367             app:popUpToInclusive="true" />
368     </fragment>
370     <fragment
371         android:id="@+id/editLoginFragment"
372         android:name="org.mozilla.fenix.settings.logins.fragment.EditLoginFragment"
373         android:label="@string/edit"
374         tools:layout="@layout/fragment_edit_login">
375         <argument
376             android:name="savedLoginItem"
377             app:argType="org.mozilla.fenix.settings.logins.SavedLogin"
378             app:nullable="false" />
379         <action
380             android:id="@+id/action_editLoginFragment_to_loginDetailFragment"
381             app:destination="@id/loginDetailFragment"
382             app:popUpTo="@id/loginDetailFragment"
383             app:popUpToInclusive="true" />
384     </fragment>
386     <fragment
387         android:id="@+id/settingsFragment"
388         android:name="org.mozilla.fenix.settings.SettingsFragment"
389         android:label="@string/settings_title">
390         <argument
391             android:name="preference_to_scroll_to"
392             android:defaultValue="@null"
393             app:argType="string"
394             app:nullable="true" />
395         <action
396             android:id="@+id/action_settingsFragment_to_dataChoicesFragment"
397             app:destination="@id/dataChoicesFragment"
398             app:enterAnim="@anim/slide_in_right"
399             app:exitAnim="@anim/slide_out_left"
400             app:popEnterAnim="@anim/slide_in_left"
401             app:popExitAnim="@anim/slide_out_right"
402             app:popUpTo="@id/settingsFragment" />
403         <action
404             android:id="@+id/action_settingsFragment_to_sitePermissionsFragment"
405             app:destination="@id/sitePermissionsFragment"
406             app:enterAnim="@anim/slide_in_right"
407             app:exitAnim="@anim/slide_out_left"
408             app:popEnterAnim="@anim/slide_in_left"
409             app:popExitAnim="@anim/slide_out_right" />
410         <action
411             android:id="@+id/action_settingsFragment_to_savedLoginsAuthFragment"
412             app:destination="@id/savedLoginsAuthFragment"
413             app:enterAnim="@anim/slide_in_right"
414             app:exitAnim="@anim/slide_out_left"
415             app:popEnterAnim="@anim/slide_in_left"
416             app:popExitAnim="@anim/slide_out_right" />
417         <action
418             android:id="@+id/action_settingsFragment_to_accessibilityFragment"
419             app:destination="@id/accessibilityFragment"
420             app:enterAnim="@anim/slide_in_right"
421             app:exitAnim="@anim/slide_out_left"
422             app:popEnterAnim="@anim/slide_in_left"
423             app:popExitAnim="@anim/slide_out_right" />
424         <action
425             android:id="@+id/action_settingsFragment_to_accountSettingsFragment"
426             app:destination="@id/accountSettingsFragment"
427             app:enterAnim="@anim/slide_in_right"
428             app:exitAnim="@anim/slide_out_left"
429             app:popEnterAnim="@anim/slide_in_left"
430             app:popExitAnim="@anim/slide_out_right" />
431         <action
432             android:id="@+id/action_settingsFragment_to_searchEngineFragment"
433             app:destination="@id/search_engine_graph"
434             app:enterAnim="@anim/slide_in_right"
435             app:exitAnim="@anim/slide_out_left"
436             app:popEnterAnim="@anim/slide_in_left"
437             app:popExitAnim="@anim/slide_out_right" />
438         <action
439             android:id="@+id/action_settingsFragment_to_turnOnSyncFragment"
440             app:destination="@id/turnOnSyncFragment"
441             app:enterAnim="@anim/slide_in_right"
442             app:exitAnim="@anim/slide_out_left"
443             app:popEnterAnim="@anim/slide_in_left"
444             app:popExitAnim="@anim/slide_out_right" />
445         <action
446             android:id="@+id/action_settingsFragment_to_aboutFragment"
447             app:destination="@id/aboutFragment"
448             app:enterAnim="@anim/slide_in_right"
449             app:exitAnim="@anim/slide_out_left"
450             app:popEnterAnim="@anim/slide_in_left"
451             app:popExitAnim="@anim/slide_out_right" />
452         <action
453             android:id="@+id/action_settingsFragment_to_secretSettingsFragment"
454             app:destination="@id/secretSettingsPreference"
455             app:enterAnim="@anim/slide_in_right"
456             app:exitAnim="@anim/slide_out_left"
457             app:popEnterAnim="@anim/slide_in_left"
458             app:popExitAnim="@anim/slide_out_right" />
459         <action
460             android:id="@+id/action_settingsFragment_to_customizationFragment"
461             app:destination="@id/customizationFragment"
462             app:enterAnim="@anim/slide_in_right"
463             app:exitAnim="@anim/slide_out_left"
464             app:popEnterAnim="@anim/slide_in_left"
465             app:popExitAnim="@anim/slide_out_right" />
466         <action
467             android:id="@+id/action_settingsFragment_to_privateBrowsingFragment"
468             app:destination="@id/privateBrowsingFragment"
469             app:enterAnim="@anim/slide_in_right"
470             app:exitAnim="@anim/slide_out_left"
471             app:popEnterAnim="@anim/slide_in_left"
472             app:popExitAnim="@anim/slide_out_right" />
473         <action
474             android:id="@+id/action_settingsFragment_to_trackingProtectionFragment"
475             app:destination="@id/trackingProtectionFragment"
476             app:enterAnim="@anim/slide_in_right"
477             app:exitAnim="@anim/slide_out_left"
478             app:popEnterAnim="@anim/slide_in_left"
479             app:popExitAnim="@anim/slide_out_right" />
480         <action
481             android:id="@+id/action_settingsFragment_to_deleteBrowsingDataFragment"
482             app:destination="@id/deleteBrowsingDataFragment"
483             app:enterAnim="@anim/slide_in_right"
484             app:exitAnim="@anim/slide_out_left"
485             app:popEnterAnim="@anim/slide_in_left"
486             app:popExitAnim="@anim/slide_out_right" />
487         <action
488             android:id="@+id/action_settingsFragment_to_accountProblemFragment"
489             app:destination="@id/accountProblemFragment"
490             app:enterAnim="@anim/slide_in_right"
491             app:exitAnim="@anim/slide_out_left"
492             app:popEnterAnim="@anim/slide_in_left"
493             app:popExitAnim="@anim/slide_out_right" />
494         <action
495             android:id="@+id/action_settingsFragment_to_deleteBrowsingDataOnQuitFragment"
496             app:destination="@id/deleteBrowsingDataOnQuitFragment"
497             app:enterAnim="@anim/slide_in_right"
498             app:exitAnim="@anim/slide_out_left"
499             app:popEnterAnim="@anim/slide_in_left"
500             app:popExitAnim="@anim/slide_out_right" />
501         <action
502             android:id="@+id/action_settingsFragment_to_localeSettingsFragment"
503             app:destination="@id/localeSettingsFragment"
504             app:enterAnim="@anim/slide_in_right"
505             app:exitAnim="@anim/slide_out_left"
506             app:popEnterAnim="@anim/slide_in_left"
507             app:popExitAnim="@anim/slide_out_right" />
508         <action
509             android:id="@+id/action_settingsFragment_to_addonsFragment"
510             app:destination="@id/addons_management_graph"
511             app:enterAnim="@anim/slide_in_right"
512             app:exitAnim="@anim/slide_out_left"
513             app:popEnterAnim="@anim/slide_in_left"
514             app:popExitAnim="@anim/slide_out_right" />
515         <action
516             android:id="@+id/action_settingsFragment_to_tabsSettingsFragment"
517             app:destination="@id/tabsSettingsFragment"
518             app:enterAnim="@anim/slide_in_right"
519             app:exitAnim="@anim/slide_out_left"
520             app:popEnterAnim="@anim/slide_in_left"
521             app:popExitAnim="@anim/slide_out_right" />
522     </fragment>
523     <fragment
524         android:id="@+id/tabsSettingsFragment"
525         android:name="org.mozilla.fenix.settings.TabsSettingsFragment"
526         android:label="@string/preferences_tabs" />
527     <fragment
528         android:id="@+id/dataChoicesFragment"
529         android:name="org.mozilla.fenix.settings.DataChoicesFragment"
530         android:label="@string/preferences_data_choices" />
531     <fragment
532         android:id="@+id/sitePermissionsFragment"
533         android:name="org.mozilla.fenix.settings.sitepermissions.SitePermissionsFragment"
534         android:label="@string/preferences_site_permissions">
535         <action
536             android:id="@+id/action_site_permissions_to_manage_phone_features"
537             app:destination="@id/SitePermissionsManagePhoneFeature"
538             app:enterAnim="@anim/slide_in_right"
539             app:exitAnim="@anim/slide_out_left"
540             app:popEnterAnim="@anim/slide_in_left"
541             app:popExitAnim="@anim/slide_out_right"
542             app:popUpTo="@id/sitePermissionsFragment" />
543         <action
544             android:id="@+id/action_site_permissions_to_exceptions"
545             app:destination="@id/site_permissions_exceptions_graph"
546             app:enterAnim="@anim/slide_in_right"
547             app:exitAnim="@anim/slide_out_left"
548             app:popEnterAnim="@anim/slide_in_left"
549             app:popExitAnim="@anim/slide_out_right"
550             app:popUpTo="@id/sitePermissionsFragment" />
551     </fragment>
553     <fragment
554         android:id="@+id/accessibilityFragment"
555         android:name="org.mozilla.fenix.settings.AccessibilityFragment"
556         android:label="@string/preferences_accessibility" />
557     <fragment
558         android:id="@+id/accountSettingsFragment"
559         android:name="org.mozilla.fenix.settings.account.AccountSettingsFragment"
560         android:label="@string/preferences_account_settings">
561         <action
562             android:id="@+id/action_accountSettingsFragment_to_signOutFragment"
563             app:destination="@id/signOutFragment" />
564     </fragment>
566     <fragment
567         android:id="@+id/turnOnSyncFragment"
568         android:name="org.mozilla.fenix.settings.account.TurnOnSyncFragment"
569         android:label="@string/preferences_sync"
570         tools:layout="@layout/fragment_turn_on_sync">
571         <argument
572             android:name="padSnackbar"
573             android:defaultValue="false"
574             app:argType="boolean" />
575         <action
576             android:id="@+id/action_turnOnSyncFragment_to_pairFragment"
577             app:destination="@id/pairFragment" />
578     </fragment>
580     <fragment
581         android:id="@+id/pairFragment"
582         android:name="org.mozilla.fenix.settings.PairFragment"
583         android:label="@string/preferences_sync"
584         tools:layout="@layout/fragment_pair" />
586     <fragment
587         android:id="@+id/aboutFragment"
588         android:name="org.mozilla.fenix.settings.about.AboutFragment"
589         tools:layout="@layout/fragment_about">
590         <action
591             android:id="@+id/action_aboutFragment_to_aboutLibrariesFragment"
592             app:destination="@id/aboutLibrariesFragment"
593             app:enterAnim="@anim/slide_in_right"
594             app:exitAnim="@anim/slide_out_left"
595             app:popEnterAnim="@anim/slide_in_left"
596             app:popExitAnim="@anim/slide_out_right" />
597     </fragment>
598     <fragment
599         android:id="@+id/secretSettingsPreference"
600         android:name="org.mozilla.fenix.settings.SecretSettingsFragment"
601         android:label="@string/preferences_debug_settings" />
602     <fragment
603         android:id="@+id/crashReporterFragment"
604         android:name="org.mozilla.fenix.crashes.CrashReporterFragment"
605         tools:layout="@layout/fragment_crash_reporter">
606         <argument
607             android:name="crashIntent"
608             app:argType="android.content.Intent" />
609     </fragment>
610     <fragment
611         android:id="@+id/aboutLibrariesFragment"
612         android:name="org.mozilla.fenix.settings.about.AboutLibrariesFragment"
613         tools:layout="@layout/fragment_about_libraries" />
614     <fragment
615         android:id="@+id/customizationFragment"
616         android:name="org.mozilla.fenix.settings.CustomizationFragment"
617         android:label="@string/preferences_customize" />
618     <fragment
619         android:id="@+id/privateBrowsingFragment"
620         android:name="org.mozilla.fenix.settings.PrivateBrowsingFragment"
621         android:label="@string/preferences_private_browsing_options" />
622     <fragment
623         android:id="@+id/trackingProtectionFragment"
624         android:name="org.mozilla.fenix.settings.TrackingProtectionFragment">
625         <action
626             android:id="@+id/action_trackingProtectionFragment_to_exceptionsFragment"
627             app:destination="@id/trackingProtectionExceptionsFragment"
628             app:enterAnim="@anim/slide_in_right"
629             app:exitAnim="@anim/slide_out_left"
630             app:popEnterAnim="@anim/slide_in_left"
631             app:popExitAnim="@anim/slide_out_right" />
632         <action
633             android:id="@+id/action_trackingProtectionFragment_to_trackingProtectionBlockingFragment"
634             app:destination="@id/trackingProtectionBlockingFragment"
635             app:enterAnim="@anim/slide_in_right"
636             app:exitAnim="@anim/slide_out_left"
637             app:popEnterAnim="@anim/slide_in_left"
638             app:popExitAnim="@anim/slide_out_right" />
639     </fragment>
640     <fragment
641         android:id="@+id/deleteBrowsingDataFragment"
642         android:name="org.mozilla.fenix.settings.deletebrowsingdata.DeleteBrowsingDataFragment"
643         android:label="@string/preferences_delete_browsing_data"
644         tools:layout="@layout/fragment_delete_browsing_data" />
645     <fragment
646         android:id="@+id/trackingProtectionExceptionsFragment"
647         android:name="org.mozilla.fenix.exceptions.trackingprotection.TrackingProtectionExceptionsFragment"
648         android:label="@string/preference_exceptions"
649         tools:layout="@layout/fragment_exceptions" />
650     <dialog
651         android:id="@+id/collectionCreationFragment"
652         android:name="org.mozilla.fenix.collections.CollectionCreationFragment"
653         tools:layout="@layout/fragment_create_collection">
654         <argument
655             android:name="tabIds"
656             android:defaultValue="@null"
657             app:argType="string[]"
658             app:nullable="true" />
659         <argument
660             android:name="selectedTabIds"
661             android:defaultValue="@null"
662             app:argType="string[]"
663             app:nullable="true" />
664         <!-- nav_graph does not allow nullable Longs, so this defaults to -1 -->
665         <argument
666             android:name="selectedTabCollectionId"
667             android:defaultValue="-1L"
668             app:argType="long" />
669         <argument
670             android:name="saveCollectionStep"
671             app:argType="org.mozilla.fenix.collections.SaveCollectionStep"
672             app:nullable="false" />
673     </dialog>
675     <dialog
676         android:id="@+id/createShortcutFragment"
677         android:name="org.mozilla.fenix.shortcut.CreateShortcutFragment"
678         tools:layout="@layout/fragment_create_shortcut" />
679     <dialog
680         android:id="@+id/pwaOnboardingDialogFragment"
681         android:name="org.mozilla.fenix.shortcut.PwaOnboardingDialogFragment"
682         tools:layout="@layout/fragment_pwa_onboarding" />
684     <dialog
685         android:id="@+id/shareFragment"
686         android:name="org.mozilla.fenix.share.ShareFragment"
687         tools:layout="@layout/fragment_share">
688         <argument
689             android:name="data"
690             app:argType="mozilla.components.concept.engine.prompt.ShareData[]" />
691         <argument
692             android:name="showPage"
693             android:defaultValue="false"
694             app:argType="boolean" />
695         <action
696             android:id="@+id/action_shareFragment_to_addNewDeviceFragment"
697             app:destination="@id/addNewDeviceFragment" />
698         <argument
699             android:name="sessionId"
700             android:defaultValue="null"
701             app:argType="string"
702             app:nullable="true" />
703         <argument
704             android:name="shareSubject"
705             android:defaultValue="@null"
706             app:argType="string"
707             app:nullable="true" />
708     </dialog>
709     <dialog
710         android:id="@+id/quickSettingsSheetDialogFragment"
711         android:name="org.mozilla.fenix.settings.quicksettings.QuickSettingsSheetDialogFragment"
712         tools:layout="@layout/fragment_quick_settings_dialog_sheet">
713         <argument
714             android:name="sessionId"
715             app:argType="string" />
716         <argument
717             android:name="title"
718             app:argType="string" />
719         <argument
720             android:name="url"
721             app:argType="string" />
722         <argument
723             android:name="isSecured"
724             app:argType="boolean" />
725         <argument
726             android:name="sitePermissions"
727             app:argType="mozilla.components.feature.sitepermissions.SitePermissions"
728             app:nullable="true" />
729         <argument
730             android:name="gravity"
731             android:defaultValue="80"
732             app:argType="integer" />
733         <argument
734             android:name="certificateName"
735             android:defaultValue=" "
736             app:argType="string" />
737     </dialog>
738     <fragment
739         android:id="@+id/accountProblemFragment"
740         android:name="org.mozilla.fenix.settings.account.AccountProblemFragment">
741         <action
742             android:id="@+id/action_accountProblemFragment_to_signOutFragment"
743             app:destination="@id/signOutFragment" />
744     </fragment>
745     <dialog
746         android:id="@+id/signOutFragment"
747         android:name="org.mozilla.fenix.settings.account.SignOutFragment"
748         tools:layout="@layout/fragment_sign_out" />
749     <dialog
750         android:id="@+id/trackingProtectionPanelDialogFragment"
751         android:name="org.mozilla.fenix.trackingprotection.TrackingProtectionPanelDialogFragment"
752         tools:layout="@layout/fragment_tracking_protection">
753         <argument
754             android:name="sessionId"
755             app:argType="string" />
756         <argument
757             android:name="url"
758             app:argType="string" />
759         <argument
760             android:name="trackingProtectionEnabled"
761             app:argType="boolean" />
762         <argument
763             android:name="gravity"
764             android:defaultValue="80"
765             app:argType="integer" />
766     </dialog>
767     <fragment
768         android:id="@+id/trackingProtectionBlockingFragment"
769         android:name="org.mozilla.fenix.trackingprotection.TrackingProtectionBlockingFragment"
770         tools:layout="@layout/fragment_tracking_protection_blocking">
771         <argument
772             android:name="protectionMode"
773             app:argType="org.mozilla.fenix.trackingprotection.TrackingProtectionMode" />
774     </fragment>
775     <fragment
776         android:id="@+id/deleteBrowsingDataOnQuitFragment"
777         android:name="org.mozilla.fenix.settings.deletebrowsingdata.DeleteBrowsingDataOnQuitFragment" />
779     <fragment
780         android:id="@+id/addNewDeviceFragment"
781         android:name="org.mozilla.fenix.share.AddNewDeviceFragment"
782         tools:layout="@layout/fragment_add_new_device" />
783     <fragment
784         android:id="@+id/localeSettingsFragment"
785         android:name="org.mozilla.fenix.settings.advanced.LocaleSettingsFragment"
786         tools:layout="@layout/fragment_locale_settings" />
787     <fragment
788         android:id="@+id/saveLoginSettingFragment"
789         android:name="org.mozilla.fenix.settings.logins.fragment.SavedLoginsSettingFragment"
790         android:label="SaveLoginSettingFragment" />
791     <fragment
792         android:id="@+id/webExtensionActionPopupFragment"
793         android:name="org.mozilla.fenix.addons.WebExtensionActionPopupFragment"
794         tools:layout="@layout/fragment_add_on_internal_settings">
795         <argument
796             android:name="webExtensionId"
797             app:argType="string" />
798         <argument
799             android:name="webExtensionTitle"
800             app:argType="string"
801             app:nullable="true" />
802     </fragment>
803     <dialog
804         android:id="@+id/tabHistoryDialogFragment"
805         android:name="org.mozilla.fenix.tabhistory.TabHistoryDialogFragment"
806         tools:layout="@layout/fragment_tab_history_dialog">
807         <argument
808             android:name="activeSessionId"
809             app:argType="string"
810             app:nullable="true" />
811     </dialog>
813     <navigation
814         android:id="@+id/site_permissions_exceptions_graph"
815         app:startDestination="@id/sitePermissionsExceptionsFragment">
817         <fragment
818             android:id="@+id/sitePermissionsExceptionsFragment"
819             android:name="org.mozilla.fenix.settings.sitepermissions.SitePermissionsExceptionsFragment"
820             android:label="@string/preference_exceptions"
821             tools:layout="@layout/fragment_site_permissions_exceptions">
822             <action
823                 android:id="@+id/action_site_permissions_to_exceptions_to_site_permissions_details"
824                 app:destination="@id/sitePermissionsDetailsExceptionsFragment"
825                 app:popUpTo="@+id/sitePermissionsExceptionsFragment" />
826         </fragment>
828         <fragment
829             android:id="@+id/sitePermissionsManageExceptionsPhoneFeatureFragment"
830             android:name="org.mozilla.fenix.settings.sitepermissions.SitePermissionsManageExceptionsPhoneFeatureFragment"
831             tools:layout="@layout/fragment_manage_site_permissions_feature_phone">
832             <argument
833                 android:name="phoneFeature"
834                 app:argType="org.mozilla.fenix.settings.PhoneFeature" />
835             <argument
836                 android:name="sitePermissions"
837                 app:argType="mozilla.components.feature.sitepermissions.SitePermissions" />
838         </fragment>
840         <fragment
841             android:id="@+id/sitePermissionsDetailsExceptionsFragment"
842             android:name="org.mozilla.fenix.settings.sitepermissions.SitePermissionsDetailsExceptionsFragment">
843             <action
844                 android:id="@+id/action_site_permissions_to_exceptions_to_manage_phone_feature"
845                 app:destination="@id/sitePermissionsManageExceptionsPhoneFeatureFragment"
846                 app:popUpTo="@+id/sitePermissionsDetailsExceptionsFragment" />
847             <argument
848                 android:name="sitePermissions"
849                 app:argType="mozilla.components.feature.sitepermissions.SitePermissions" />
850         </fragment>
851     </navigation>
853     <navigation
854         android:id="@+id/addons_management_graph"
855         app:startDestination="@id/addonsManagementFragment">
856         <fragment
857             android:id="@+id/addonsManagementFragment"
858             android:name="org.mozilla.fenix.addons.AddonsManagementFragment"
859             tools:layout="@layout/fragment_add_ons_management">
860             <action
861                 android:id="@+id/action_addonsManagementFragment_to_addonDetailsFragment"
862                 app:destination="@id/addonDetailsFragment" />
863             <action
864                 android:id="@+id/action_addonsManagementFragment_to_installedAddonDetails"
865                 app:destination="@id/installedAddonDetailsFragment" />
866             <action
867                 android:id="@+id/action_addonsManagementFragment_to_notYetSupportedAddonFragment"
868                 app:destination="@id/notYetSupportedAddonFragment" />
869         </fragment>
870         <fragment
871             android:id="@+id/installedAddonDetailsFragment"
872             android:name="org.mozilla.fenix.addons.InstalledAddonDetailsFragment"
873             tools:layout="@layout/fragment_installed_add_on_details">
874             <action
875                 android:id="@+id/action_installedAddonFragment_to_addonInternalSettingsFragment"
876                 app:destination="@id/addonInternalSettingsFragment" />
877             <action
878                 android:id="@+id/action_installedAddonFragment_to_addonDetailsFragment"
879                 app:destination="@id/addonDetailsFragment" />
880             <action
881                 android:id="@+id/action_installedAddonFragment_to_addonPermissionsDetailsFragment"
882                 app:destination="@id/addonPermissionsDetailFragment" />
883             <argument
884                 android:name="addon"
885                 app:argType="mozilla.components.feature.addons.Addon" />
886         </fragment>
887         <fragment
888             android:id="@+id/notYetSupportedAddonFragment"
889             android:name="org.mozilla.fenix.addons.NotYetSupportedAddonFragment"
890             tools:layout="@layout/fragment_not_yet_supported_addons">
891             <argument
892                 android:name="addons"
893                 app:argType="mozilla.components.feature.addons.Addon[]" />
894         </fragment>
895         <fragment
896             android:id="@+id/addonPermissionsDetailFragment"
897             android:name="org.mozilla.fenix.addons.AddonPermissionsDetailsFragment"
898             tools:layout="@layout/fragment_add_on_permissions">
899             <argument
900                 android:name="addon"
901                 app:argType="mozilla.components.feature.addons.Addon" />
902         </fragment>
903         <fragment
904             android:id="@+id/addonInternalSettingsFragment"
905             android:name="org.mozilla.fenix.addons.AddonInternalSettingsFragment"
906             tools:layout="@layout/fragment_add_on_internal_settings">
907             <argument
908                 android:name="addon"
909                 app:argType="mozilla.components.feature.addons.Addon" />
910         </fragment>
911         <fragment
912             android:id="@+id/addonDetailsFragment"
913             android:name="org.mozilla.fenix.addons.AddonDetailsFragment"
914             tools:layout="@layout/fragment_add_on_details">
915             <argument
916                 android:name="addon"
917                 app:argType="mozilla.components.feature.addons.Addon" />
918         </fragment>
919     </navigation>
921     <navigation
922         android:id="@+id/search_engine_graph"
923         app:startDestination="@id/searchEngineFragment">
924         <fragment
925             android:id="@+id/searchEngineFragment"
926             android:name="org.mozilla.fenix.settings.search.SearchEngineFragment"
927             android:label="@string/preferences_search">
928             <action
929                 android:id="@+id/action_searchEngineFragment_to_addSearchEngineFragment"
930                 app:destination="@+id/addSearchEngineFragment" />
931             <action
932                 android:id="@+id/action_searchEngineFragment_to_editCustomSearchEngineFragment"
933                 app:destination="@+id/editCustomSearchEngineFragment" />
934         </fragment>
935         <fragment
936             android:id="@+id/addSearchEngineFragment"
937             android:name="org.mozilla.fenix.settings.search.AddSearchEngineFragment"
938             tools:layout="@layout/fragment_add_search_engine" />
939         <fragment
940             android:id="@+id/editCustomSearchEngineFragment"
941             android:name="org.mozilla.fenix.settings.search.EditCustomSearchEngineFragment"
942             tools:layout="@layout/fragment_add_search_engine">
943             <argument
944                 android:name="searchEngineIdentifier"
945                 app:argType="string" />
946         </fragment>
947     </navigation>
948 </navigation>