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

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

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

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

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

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

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

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

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

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

131
132
133
134
    <fragment
        android:id="@+id/homeFragment"
        android:name="org.mozilla.fenix.home.HomeFragment"
        tools:layout="@layout/fragment_home">
135
136
137
138
        <argument
            android:name="focusOnAddressBar"
            android:defaultValue="false"
            app:argType="boolean" />
139
140
        <argument
            android:name="session_to_delete"
141
            android:defaultValue="@null"
142
            app:argType="string"
143
            app:nullable="true" />
144
    </fragment>
145

146
147
148
    <dialog
        android:id="@+id/searchDialogFragment"
        android:name="org.mozilla.fenix.searchdialog.SearchDialogFragment"
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
        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>
164

165
166
167
168
    <fragment
        android:id="@+id/searchFragment"
        android:name="org.mozilla.fenix.search.SearchFragment"
        tools:layout="@layout/fragment_search">
Emily Kager's avatar
Emily Kager committed
169
170
171
172
        <argument
            android:name="session_id"
            app:argType="string"
            app:nullable="true" />
173
174
        <argument
            android:name="pastedText"
175
            android:defaultValue="@null"
176
            app:argType="string"
177
            app:nullable="true" />
178
179
        <argument
            android:name="search_access_point"
180
181
            android:defaultValue="NONE"
            app:argType="org.mozilla.fenix.components.metrics.Event$PerformedSearch$SearchAccessPoint" />
182
    </fragment>
183

ekager's avatar
ekager committed
184
185
186
187
188
    <fragment
        android:id="@+id/recentlyClosedFragment"
        android:name="org.mozilla.fenix.library.recentlyclosed.RecentlyClosedFragment"
        android:label="@string/library_recently_closed_tabs" />

189
190
    <fragment
        android:id="@+id/SitePermissionsManagePhoneFeature"
191
        android:name="org.mozilla.fenix.settings.sitepermissions.SitePermissionsManagePhoneFeatureFragment"
192
193
        tools:layout="@layout/fragment_manage_site_permissions_feature_phone">
        <argument
194
195
            android:name="phoneFeature"
            app:argType="org.mozilla.fenix.settings.PhoneFeature" />
196
197
    </fragment>

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

Tiger Oakes's avatar
Tiger Oakes committed
235
    <fragment
236
237
238
        android:id="@+id/externalAppBrowserFragment"
        android:name="org.mozilla.fenix.customtabs.ExternalAppBrowserFragment"
        tools:layout="@layout/fragment_browser">
ekager's avatar
ekager committed
239
240
241
242
243
244
245
246
        <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
247
248
    </fragment>

249
250
251
252
    <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
253
        tools:layout="@layout/fragment_history" />
254

Kate Glazko's avatar
Kate Glazko committed
255
256
257
258
259
260
    <fragment
        android:id="@+id/downloadsFragment"
        android:name="org.mozilla.fenix.library.downloads.DownloadFragment"
        android:label="Downloads"
        tools:layout="@layout/fragment_downloads" />

261
262
263
264
265
266
267
268
269
270
    <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" />
271
272
273
        <action
            android:id="@+id/action_bookmarkFragment_to_bookmarkEditFragment"
            app:destination="@id/bookmarkEditFragment" />
274
275
276
        <action
            android:id="@+id/action_bookmarkFragment_to_bookmarkAddFolderFragment"
            app:destination="@id/bookmarkAddFolderFragment" />
277
278
279
280
281
282
283
284
285
    </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
286
            app:nullable="false" />
287
288
289
        <action
            android:id="@+id/action_bookmarkEditFragment_to_bookmarkSelectFolderFragment"
            app:destination="@id/bookmarkSelectFolderFragment" />
Mihai Eduard Badea's avatar
Mihai Eduard Badea committed
290
291
        <argument
            android:name="requiresSnackbarPaddingForToolbar"
292
293
            android:defaultValue="false"
            app:argType="boolean" />
294
295
296
297
298
299
300
301
302
303
    </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
304
            app:nullable="true" />
305
306
307
308
309
310
311
312
        <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
313
314
            android:defaultValue="false"
            app:argType="boolean" />
315
316
317
318
319
    </fragment>

    <fragment
        android:id="@+id/bookmarkAddFolderFragment"
        android:name="org.mozilla.fenix.library.bookmarks.addfolder.AddBookmarkFolderFragment"
320
321
        android:label="@string/bookmark_add_folder_fragment_label"
        tools:layout="@layout/fragment_edit_bookmark">
322
323
324
        <action
            android:id="@+id/action_bookmarkAddFolderFragment_to_bookmarkSelectFolderFragment"
            app:destination="@id/bookmarkSelectFolderFragment" />
325
    </fragment>
326

ekager's avatar
ekager committed
327
    <fragment
328
        android:id="@+id/savedLoginsAuthFragment"
329
        android:name="org.mozilla.fenix.settings.logins.fragment.SavedLoginsAuthFragment"
ekager's avatar
ekager committed
330
331
        android:label="@string/preferences_passwords_logins_and_passwords">
        <action
332
            android:id="@+id/action_savedLoginsAuthFragment_to_loginsListFragment"
333
            app:destination="@id/savedLoginsFragment"
334
335
336
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
337
            app:popExitAnim="@anim/slide_out_right" />
ekager's avatar
ekager committed
338
        <action
339
            android:id="@+id/action_savedLoginsAuthFragment_to_turnOnSyncFragment"
340
            app:destination="@id/turnOnSyncFragment"
341
342
343
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
344
            app:popExitAnim="@anim/slide_out_right" />
345
        <action
346
            android:id="@+id/action_savedLoginsAuthFragment_to_savedLoginsSettingFragment"
347
            app:destination="@id/saveLoginSettingFragment"
348
349
350
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
351
352
353
354
355
356
357
358
            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
359
360
    </fragment>

361
362
    <fragment
        android:id="@+id/savedLoginsFragment"
363
        android:name="org.mozilla.fenix.settings.logins.fragment.SavedLoginsFragment"
364
365
366
367
368
369
370
371
372
373
374
        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>

375
376
377
378
    <fragment
        android:id="@+id/syncedTabsFragment"
        android:name="org.mozilla.fenix.sync.SyncedTabsFragment"
        android:label="@string/synced_tabs"
379
        tools:layout="@layout/fragment_synced_tabs" />
380
381
382

    <fragment
        android:id="@+id/loginExceptionsFragment"
383
        android:name="org.mozilla.fenix.exceptions.login.LoginExceptionsFragment"
384
        android:label="@string/preferences_passwords_exceptions"
385
        tools:layout="@layout/fragment_exceptions" />
386

387
388
    <fragment
        android:id="@+id/loginDetailFragment"
389
        android:name="org.mozilla.fenix.settings.logins.fragment.LoginDetailFragment"
390
391
392
393
        tools:layout="@layout/fragment_login_detail">
        <argument
            android:name="savedLoginId"
            app:argType="string"
394
            app:nullable="false" />
395
396
397
398
        <action
            android:id="@+id/action_loginDetailFragment_to_editLoginFragment"
            app:destination="@id/editLoginFragment"
            app:popUpTo="@id/editLoginFragment"
399
            app:popUpToInclusive="true" />
400
401
402
403
    </fragment>

    <fragment
        android:id="@+id/editLoginFragment"
404
        android:name="org.mozilla.fenix.settings.logins.fragment.EditLoginFragment"
405
406
        android:label="@string/edit"
        tools:layout="@layout/fragment_edit_login">
407
408
409
        <argument
            android:name="savedLoginItem"
            app:argType="org.mozilla.fenix.settings.logins.SavedLogin"
410
            app:nullable="false" />
411
412
413
414
        <action
            android:id="@+id/action_editLoginFragment_to_loginDetailFragment"
            app:destination="@id/loginDetailFragment"
            app:popUpTo="@id/loginDetailFragment"
415
            app:popUpToInclusive="true" />
416
417
    </fragment>

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

Emily Kager's avatar
Emily Kager committed
585
586
587
    <fragment
        android:id="@+id/accessibilityFragment"
        android:name="org.mozilla.fenix.settings.AccessibilityFragment"
588
        android:label="@string/preferences_accessibility" />
Emily Kager's avatar
Emily Kager committed
589
590
    <fragment
        android:id="@+id/accountSettingsFragment"
591
        android:name="org.mozilla.fenix.settings.account.AccountSettingsFragment"
592
593
594
595
596
        android:label="@string/preferences_account_settings">
        <action
            android:id="@+id/action_accountSettingsFragment_to_signOutFragment"
            app:destination="@id/signOutFragment" />
    </fragment>
597

598
    <fragment
599
        android:id="@+id/turnOnSyncFragment"
600
        android:name="org.mozilla.fenix.settings.account.TurnOnSyncFragment"
601
602
        android:label="@string/preferences_sync"
        tools:layout="@layout/fragment_turn_on_sync">
603
604
        <argument
            android:name="padSnackbar"
ekager's avatar
ekager committed
605
606
            android:defaultValue="false"
            app:argType="boolean" />
607
        <action
608
609
            android:id="@+id/action_turnOnSyncFragment_to_pairFragment"
            app:destination="@id/pairFragment" />
610
611
612
613
614
    </fragment>

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

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

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

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

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

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

880
881
    <navigation
        android:id="@+id/addons_management_graph"
Tiger Oakes's avatar
Tiger Oakes committed
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
        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>

948
949
    <navigation
        android:id="@+id/search_engine_graph"
Tiger Oakes's avatar
Tiger Oakes committed
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
        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
975
</navigation>