nav_graph.xml 40.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" />

34
35
36
37
38
39
40
41
42
43
44
    <action
        android:id="@+id/action_global_shareFragment"
        app:destination="@id/shareFragment" />
    <action
        android:id="@+id/action_global_crash_reporter"
        app:destination="@id/crashReporterFragment" />
    <action
        android:id="@+id/action_global_turn_on_sync"
        app:destination="@id/turnOnSyncFragment" />
    <action
        android:id="@+id/action_global_searchEngineFragment"
Tiger Oakes's avatar
Tiger Oakes committed
45
        app:destination="@id/search_engine_graph" />
46
47
48
49
50
51
52
53
54
55
56
57
58
59
    <action
        android:id="@+id/action_global_accessibilityFragment"
        app:destination="@id/accessibilityFragment" />
    <action
        android:id="@+id/action_global_deleteBrowsingDataFragment"
        app:destination="@id/deleteBrowsingDataFragment" />
    <action
        android:id="@+id/action_global_webExtensionActionPopupFragment"
        app:destination="@id/webExtensionActionPopupFragment" />
    <action
        android:id="@+id/action_global_settingsFragment"
        app:destination="@id/settingsFragment" />
    <action
        android:id="@+id/action_global_syncedTabsFragment"
60
        app:destination="@id/syncedTabsFragment" />
61
62
63
64
65
66
67
68
69
    <action
        android:id="@+id/action_global_privateBrowsingFragment"
        app:destination="@id/privateBrowsingFragment" />
    <action
        android:id="@+id/action_global_bookmarkFragment"
        app:destination="@id/bookmarkFragment" />
    <action
        android:id="@+id/action_global_historyFragment"
        app:destination="@id/historyFragment" />
Kate Glazko's avatar
Kate Glazko committed
70
71
72

    <action android:id="@+id/action_global_downloadsFragment"
        app:destination="@id/downloadsFragment" />
73
74
75
76
77
78
79
80
81
82
83
84
85
86
    <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
87
        app:destination="@id/addons_management_graph" />
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
    <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" />
106
107
108
    <action
        android:id="@+id/action_global_savedLoginsAuthFragment"
        app:destination="@id/savedLoginsAuthFragment" />
109
110
111
    <action
        android:id="@+id/action_global_tabHistoryDialogFragment"
        app:destination="@id/tabHistoryDialogFragment" />
112
113
114
115

    <dialog
        android:id="@+id/tabTrayDialogFragment"
        android:name="org.mozilla.fenix.tabtray.TabTrayDialogFragment"
116
117
118
119
120
121
        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
122

123
124
125
126
    <fragment
        android:id="@+id/homeFragment"
        android:name="org.mozilla.fenix.home.HomeFragment"
        tools:layout="@layout/fragment_home">
127
128
129
130
        <argument
            android:name="focusOnAddressBar"
            android:defaultValue="false"
            app:argType="boolean" />
131
132
        <argument
            android:name="session_to_delete"
133
            android:defaultValue="@null"
134
            app:argType="string"
135
            app:nullable="true" />
136
    </fragment>
137

138
139
140
    <dialog
        android:id="@+id/searchDialogFragment"
        android:name="org.mozilla.fenix.searchdialog.SearchDialogFragment"
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
        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>
156

157
158
159
160
    <fragment
        android:id="@+id/searchFragment"
        android:name="org.mozilla.fenix.search.SearchFragment"
        tools:layout="@layout/fragment_search">
Emily Kager's avatar
Emily Kager committed
161
162
163
164
        <argument
            android:name="session_id"
            app:argType="string"
            app:nullable="true" />
165
166
        <argument
            android:name="pastedText"
167
            android:defaultValue="@null"
168
            app:argType="string"
169
            app:nullable="true" />
170
171
        <argument
            android:name="search_access_point"
172
173
            android:defaultValue="NONE"
            app:argType="org.mozilla.fenix.components.metrics.Event$PerformedSearch$SearchAccessPoint" />
174
    </fragment>
175

176
177
    <fragment
        android:id="@+id/SitePermissionsManagePhoneFeature"
178
        android:name="org.mozilla.fenix.settings.sitepermissions.SitePermissionsManagePhoneFeatureFragment"
179
180
        tools:layout="@layout/fragment_manage_site_permissions_feature_phone">
        <argument
181
182
            android:name="phoneFeature"
            app:argType="org.mozilla.fenix.settings.PhoneFeature" />
183
184
    </fragment>

185
186
187
    <fragment
        android:id="@+id/browserFragment"
        android:name="org.mozilla.fenix.browser.BrowserFragment"
188
        app:exitAnim="@anim/fade_out"
189
        tools:layout="@layout/fragment_browser">
190
191
        <action
            android:id="@+id/action_browserFragment_to_searchFragment"
192
            app:destination="@id/searchFragment"
193
            app:enterAnim="@anim/fade_in_up"
194
            app:popExitAnim="@anim/fade_out_down" />
195
        <argument
196
            android:name="activeSessionId"
197
198
            app:argType="string"
            app:nullable="true" />
199
200
201
        <action
            android:id="@+id/action_browserFragment_to_syncedTabsFragment"
            app:destination="@id/syncedTabsFragment" />
202
203
204
        <action
            android:id="@+id/action_browserFragment_to_settingsFragment"
            app:destination="@id/settingsFragment" />
205
        <action
ekager's avatar
ekager committed
206
207
            android:id="@+id/action_browserFragment_to_createShortcutFragment"
            app:destination="@id/createShortcutFragment" />
208
        <action
209
210
            android:id="@+id/action_browserFragment_to_pwaOnboardingDialogFragment"
            app:destination="@id/pwaOnboardingDialogFragment" />
211
212
213
        <action
            android:id="@+id/action_browserFragment_to_quickSettingsSheetDialogFragment"
            app:destination="@id/quickSettingsSheetDialogFragment" />
214
215
216
        <action
            android:id="@+id/action_browserFragment_to_trackingProtectionPanelDialogFragment"
            app:destination="@id/trackingProtectionPanelDialogFragment" />
217
218
219
        <action
            android:id="@+id/action_browserFragment_to_tabsTrayFragment"
            app:destination="@+id/tabTrayFragment" />
220
    </fragment>
221

Tiger Oakes's avatar
Tiger Oakes committed
222
    <fragment
223
224
225
        android:id="@+id/externalAppBrowserFragment"
        android:name="org.mozilla.fenix.customtabs.ExternalAppBrowserFragment"
        tools:layout="@layout/fragment_browser">
ekager's avatar
ekager committed
226
227
228
229
230
231
232
233
        <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
234
235
    </fragment>

236
237
238
239
    <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
240
        tools:layout="@layout/fragment_history" />
241

Kate Glazko's avatar
Kate Glazko committed
242
243
244
245
246
247
    <fragment
        android:id="@+id/downloadsFragment"
        android:name="org.mozilla.fenix.library.downloads.DownloadFragment"
        android:label="Downloads"
        tools:layout="@layout/fragment_downloads" />

248
249
250
251
252
253
254
255
256
257
    <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" />
258
259
260
        <action
            android:id="@+id/action_bookmarkFragment_to_bookmarkEditFragment"
            app:destination="@id/bookmarkEditFragment" />
261
262
263
        <action
            android:id="@+id/action_bookmarkFragment_to_bookmarkAddFolderFragment"
            app:destination="@id/bookmarkAddFolderFragment" />
264
265
266
267
268
269
270
271
272
    </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
273
            app:nullable="false" />
274
275
276
        <action
            android:id="@+id/action_bookmarkEditFragment_to_bookmarkSelectFolderFragment"
            app:destination="@id/bookmarkSelectFolderFragment" />
Mihai Eduard Badea's avatar
Mihai Eduard Badea committed
277
278
        <argument
            android:name="requiresSnackbarPaddingForToolbar"
279
280
            android:defaultValue="false"
            app:argType="boolean" />
281
282
283
284
285
286
287
288
289
290
    </fragment>

    <fragment
        android:id="@+id/bookmarkSelectFolderFragment"
        android:name="org.mozilla.fenix.library.bookmarks.selectfolder.SelectBookmarkFolderFragment"
        android:label="@string/bookmark_select_folder_fragment_label"
        tools:layout="@layout/fragment_select_bookmark_folder">
        <argument
            android:name="folderGuid"
            app:argType="string"
Emily Kager's avatar
Emily Kager committed
291
            app:nullable="true" />
292
293
294
295
296
297
298
299
        <action
            android:id="@+id/action_bookmarkSelectFolderFragment_self"
            app:destination="@id/bookmarkSelectFolderFragment" />
        <action
            android:id="@+id/action_bookmarkSelectFolderFragment_to_bookmarkAddFolderFragment"
            app:destination="@id/bookmarkAddFolderFragment" />
        <argument
            android:name="visitedAddBookmark"
Emily Kager's avatar
Emily Kager committed
300
301
            android:defaultValue="false"
            app:argType="boolean" />
302
303
304
305
306
    </fragment>

    <fragment
        android:id="@+id/bookmarkAddFolderFragment"
        android:name="org.mozilla.fenix.library.bookmarks.addfolder.AddBookmarkFolderFragment"
307
308
        android:label="@string/bookmark_add_folder_fragment_label"
        tools:layout="@layout/fragment_edit_bookmark">
309
310
311
        <action
            android:id="@+id/action_bookmarkAddFolderFragment_to_bookmarkSelectFolderFragment"
            app:destination="@id/bookmarkSelectFolderFragment" />
312
    </fragment>
313

ekager's avatar
ekager committed
314
    <fragment
315
        android:id="@+id/savedLoginsAuthFragment"
316
        android:name="org.mozilla.fenix.settings.logins.fragment.SavedLoginsAuthFragment"
ekager's avatar
ekager committed
317
318
        android:label="@string/preferences_passwords_logins_and_passwords">
        <action
319
            android:id="@+id/action_savedLoginsAuthFragment_to_loginsListFragment"
320
            app:destination="@id/savedLoginsFragment"
321
322
323
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
324
            app:popExitAnim="@anim/slide_out_right" />
ekager's avatar
ekager committed
325
        <action
326
            android:id="@+id/action_savedLoginsAuthFragment_to_turnOnSyncFragment"
327
            app:destination="@id/turnOnSyncFragment"
328
329
330
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
331
            app:popExitAnim="@anim/slide_out_right" />
332
        <action
333
            android:id="@+id/action_savedLoginsAuthFragment_to_savedLoginsSettingFragment"
334
            app:destination="@id/saveLoginSettingFragment"
335
336
337
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
338
339
340
341
342
343
344
345
            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
346
347
    </fragment>

348
349
    <fragment
        android:id="@+id/savedLoginsFragment"
350
        android:name="org.mozilla.fenix.settings.logins.fragment.SavedLoginsFragment"
351
352
353
354
355
356
357
358
359
360
361
        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>

362
363
364
365
    <fragment
        android:id="@+id/syncedTabsFragment"
        android:name="org.mozilla.fenix.sync.SyncedTabsFragment"
        android:label="@string/synced_tabs"
366
        tools:layout="@layout/fragment_synced_tabs" />
367
368
369

    <fragment
        android:id="@+id/loginExceptionsFragment"
370
        android:name="org.mozilla.fenix.exceptions.login.LoginExceptionsFragment"
371
        android:label="@string/preferences_passwords_exceptions"
372
        tools:layout="@layout/fragment_exceptions" />
373

374
375
    <fragment
        android:id="@+id/loginDetailFragment"
376
        android:name="org.mozilla.fenix.settings.logins.fragment.LoginDetailFragment"
377
378
379
380
        tools:layout="@layout/fragment_login_detail">
        <argument
            android:name="savedLoginId"
            app:argType="string"
381
            app:nullable="false" />
382
383
384
385
        <action
            android:id="@+id/action_loginDetailFragment_to_editLoginFragment"
            app:destination="@id/editLoginFragment"
            app:popUpTo="@id/editLoginFragment"
386
            app:popUpToInclusive="true" />
387
388
389
390
    </fragment>

    <fragment
        android:id="@+id/editLoginFragment"
391
        android:name="org.mozilla.fenix.settings.logins.fragment.EditLoginFragment"
392
393
        android:label="@string/edit"
        tools:layout="@layout/fragment_edit_login">
394
395
396
        <argument
            android:name="savedLoginItem"
            app:argType="org.mozilla.fenix.settings.logins.SavedLogin"
397
            app:nullable="false" />
398
399
400
401
        <action
            android:id="@+id/action_editLoginFragment_to_loginDetailFragment"
            app:destination="@id/loginDetailFragment"
            app:popUpTo="@id/loginDetailFragment"
402
            app:popUpToInclusive="true" />
403
404
    </fragment>

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

Emily Kager's avatar
Emily Kager committed
556
557
558
    <fragment
        android:id="@+id/accessibilityFragment"
        android:name="org.mozilla.fenix.settings.AccessibilityFragment"
559
        android:label="@string/preferences_accessibility" />
Emily Kager's avatar
Emily Kager committed
560
561
    <fragment
        android:id="@+id/accountSettingsFragment"
562
        android:name="org.mozilla.fenix.settings.account.AccountSettingsFragment"
563
564
565
566
567
        android:label="@string/preferences_account_settings">
        <action
            android:id="@+id/action_accountSettingsFragment_to_signOutFragment"
            app:destination="@id/signOutFragment" />
    </fragment>
568

569
    <fragment
570
        android:id="@+id/turnOnSyncFragment"
571
        android:name="org.mozilla.fenix.settings.account.TurnOnSyncFragment"
572
573
        android:label="@string/preferences_sync"
        tools:layout="@layout/fragment_turn_on_sync">
574
575
        <argument
            android:name="padSnackbar"
ekager's avatar
ekager committed
576
577
            android:defaultValue="false"
            app:argType="boolean" />
578
        <action
579
580
            android:id="@+id/action_turnOnSyncFragment_to_pairFragment"
            app:destination="@id/pairFragment" />
581
582
583
584
585
    </fragment>

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

589
590
    <fragment
        android:id="@+id/aboutFragment"
591
592
593
594
595
596
597
598
599
600
        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>
601
602
    <fragment
        android:id="@+id/secretSettingsPreference"
603
        android:name="org.mozilla.fenix.settings.SecretSettingsFragment"
604
        android:label="@string/preferences_debug_settings" />
Emily Kager's avatar
Emily Kager committed
605
606
    <fragment
        android:id="@+id/crashReporterFragment"
607
608
        android:name="org.mozilla.fenix.crashes.CrashReporterFragment"
        tools:layout="@layout/fragment_crash_reporter">
Emily Kager's avatar
Emily Kager committed
609
610
611
        <argument
            android:name="crashIntent"
            app:argType="android.content.Intent" />
612
    </fragment>
613
614
615
616
    <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
617
    <fragment
618
619
620
        android:id="@+id/customizationFragment"
        android:name="org.mozilla.fenix.settings.CustomizationFragment"
        android:label="@string/preferences_customize" />
621
622
623
624
    <fragment
        android:id="@+id/privateBrowsingFragment"
        android:name="org.mozilla.fenix.settings.PrivateBrowsingFragment"
        android:label="@string/preferences_private_browsing_options" />
625
626
    <fragment
        android:id="@+id/trackingProtectionFragment"
ekager's avatar
ekager committed
627
        android:name="org.mozilla.fenix.settings.TrackingProtectionFragment">
628
629
        <action
            android:id="@+id/action_trackingProtectionFragment_to_exceptionsFragment"
630
            app:destination="@id/trackingProtectionExceptionsFragment"
631
632
633
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
634
            app:popExitAnim="@anim/slide_out_right" />
635
636
        <action
            android:id="@+id/action_trackingProtectionFragment_to_trackingProtectionBlockingFragment"
637
            app:destination="@id/trackingProtectionBlockingFragment"
638
639
640
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
641
            app:popExitAnim="@anim/slide_out_right" />
642
    </fragment>
643
644
    <fragment
        android:id="@+id/deleteBrowsingDataFragment"
645
        android:name="org.mozilla.fenix.settings.deletebrowsingdata.DeleteBrowsingDataFragment"
646
647
        android:label="@string/preferences_delete_browsing_data"
        tools:layout="@layout/fragment_delete_browsing_data" />
648
    <fragment
649
        android:id="@+id/trackingProtectionExceptionsFragment"
650
        android:name="org.mozilla.fenix.exceptions.trackingprotection.TrackingProtectionExceptionsFragment"
651
652
        android:label="@string/preference_exceptions"
        tools:layout="@layout/fragment_exceptions" />
653
    <dialog
654
655
        android:id="@+id/collectionCreationFragment"
        android:name="org.mozilla.fenix.collections.CollectionCreationFragment"
ekager's avatar
ekager committed
656
        tools:layout="@layout/fragment_create_collection">
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
        <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>
677

678
    <dialog
ekager's avatar
ekager committed
679
680
681
        android:id="@+id/createShortcutFragment"
        android:name="org.mozilla.fenix.shortcut.CreateShortcutFragment"
        tools:layout="@layout/fragment_create_shortcut" />
682
    <dialog
683
684
685
        android:id="@+id/pwaOnboardingDialogFragment"
        android:name="org.mozilla.fenix.shortcut.PwaOnboardingDialogFragment"
        tools:layout="@layout/fragment_pwa_onboarding" />
686

687
688
689
    <dialog
        android:id="@+id/shareFragment"
        android:name="org.mozilla.fenix.share.ShareFragment"
690
        tools:layout="@layout/fragment_share">
691
        <argument
692
693
            android:name="data"
            app:argType="mozilla.components.concept.engine.prompt.ShareData[]" />
694
        <argument
695
            android:name="showPage"
ekager's avatar
ekager committed
696
697
            android:defaultValue="false"
            app:argType="boolean" />
698
699
700
        <action
            android:id="@+id/action_shareFragment_to_addNewDeviceFragment"
            app:destination="@id/addNewDeviceFragment" />
701
        <argument
ekager's avatar
ekager committed
702
703
704
705
            android:name="sessionId"
            android:defaultValue="null"
            app:argType="string"
            app:nullable="true" />
706
707
708
709
710
        <argument
            android:name="shareSubject"
            android:defaultValue="@null"
            app:argType="string"
            app:nullable="true" />
711
    </dialog>
712
713
    <dialog
        android:id="@+id/quickSettingsSheetDialogFragment"
714
715
        android:name="org.mozilla.fenix.settings.quicksettings.QuickSettingsSheetDialogFragment"
        tools:layout="@layout/fragment_quick_settings_dialog_sheet">
716
717
718
        <argument
            android:name="sessionId"
            app:argType="string" />
719
720
721
        <argument
            android:name="title"
            app:argType="string" />
722
723
724
725
726
727
728
729
730
731
732
733
        <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
734
735
            android:defaultValue="80"
            app:argType="integer" />
Kate Glazko's avatar
Kate Glazko committed
736
737
738
739
        <argument
            android:name="certificateName"
            android:defaultValue=" "
            app:argType="string" />
740
    </dialog>
741
742
    <fragment
        android:id="@+id/accountProblemFragment"
743
        android:name="org.mozilla.fenix.settings.account.AccountProblemFragment">
744
745
746
        <action
            android:id="@+id/action_accountProblemFragment_to_signOutFragment"
            app:destination="@id/signOutFragment" />
747
    </fragment>
748
749
    <dialog
        android:id="@+id/signOutFragment"
750
751
        android:name="org.mozilla.fenix.settings.account.SignOutFragment"
        tools:layout="@layout/fragment_sign_out" />
752
753
    <dialog
        android:id="@+id/trackingProtectionPanelDialogFragment"
754
755
        android:name="org.mozilla.fenix.trackingprotection.TrackingProtectionPanelDialogFragment"
        tools:layout="@layout/fragment_tracking_protection">
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
        <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"
772
773
        android:name="org.mozilla.fenix.trackingprotection.TrackingProtectionBlockingFragment"
        tools:layout="@layout/fragment_tracking_protection_blocking">
774
        <argument
mcarare's avatar
mcarare committed
775
            android:name="protectionMode"
776
            app:argType="org.mozilla.fenix.trackingprotection.TrackingProtectionMode" />
777
    </fragment>
778
779
    <fragment
        android:id="@+id/deleteBrowsingDataOnQuitFragment"
ekager's avatar
ekager committed
780
        android:name="org.mozilla.fenix.settings.deletebrowsingdata.DeleteBrowsingDataOnQuitFragment" />
781
782
783

    <fragment
        android:id="@+id/addNewDeviceFragment"
784
785
        android:name="org.mozilla.fenix.share.AddNewDeviceFragment"
        tools:layout="@layout/fragment_add_new_device" />
786
787
    <fragment
        android:id="@+id/localeSettingsFragment"
788
789
        android:name="org.mozilla.fenix.settings.advanced.LocaleSettingsFragment"
        tools:layout="@layout/fragment_locale_settings" />
790
791
    <fragment
        android:id="@+id/saveLoginSettingFragment"
792
        android:name="org.mozilla.fenix.settings.logins.fragment.SavedLoginsSettingFragment"
793
        android:label="SaveLoginSettingFragment" />
Gabriel Luong's avatar
Gabriel Luong committed
794
795
    <fragment
        android:id="@+id/webExtensionActionPopupFragment"
796
797
        android:name="org.mozilla.fenix.addons.WebExtensionActionPopupFragment"
        tools:layout="@layout/fragment_add_on_internal_settings">
Gabriel Luong's avatar
Gabriel Luong committed
798
799
800
801
802
803
        <argument
            android:name="webExtensionId"
            app:argType="string" />
        <argument
            android:name="webExtensionTitle"
            app:argType="string"
804
            app:nullable="true" />
Gabriel Luong's avatar
Gabriel Luong committed
805
    </fragment>
806
807
    <dialog
        android:id="@+id/tabHistoryDialogFragment"
808
809
        android:name="org.mozilla.fenix.tabhistory.TabHistoryDialogFragment"
        tools:layout="@layout/fragment_tab_history_dialog" />
Tiger Oakes's avatar
Tiger Oakes committed
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
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
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942

    <navigation android:id="@+id/site_permissions_exceptions_graph"
        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>

    <navigation android:id="@+id/addons_management_graph"
        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>

    <navigation android:id="@+id/search_engine_graph"
        app:startDestination="@id/searchEngineFragment">
        <fragment
            android:id="@+id/searchEngineFragment"
            android:name="org.mozilla.fenix.settings.search.SearchEngineFragment"
            android:label="@string/preferences_search">
            <action
                android:id="@+id/action_searchEngineFragment_to_addSearchEngineFragment"
                app:destination="@+id/addSearchEngineFragment" />
            <action
                android:id="@+id/action_searchEngineFragment_to_editCustomSearchEngineFragment"
                app:destination="@+id/editCustomSearchEngineFragment" />
        </fragment>
        <fragment
            android:id="@+id/addSearchEngineFragment"
            android:name="org.mozilla.fenix.settings.search.AddSearchEngineFragment"
            tools:layout="@layout/fragment_add_search_engine" />
        <fragment
            android:id="@+id/editCustomSearchEngineFragment"
            android:name="org.mozilla.fenix.settings.search.EditCustomSearchEngineFragment"
            tools:layout="@layout/fragment_add_search_engine">
            <argument
                android:name="searchEngineIdentifier"
                app:argType="string" />
        </fragment>
    </navigation>
Tiger Oakes's avatar
Tiger Oakes committed
943
</navigation>