nav_graph.xml 39 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_settings_addonsManagementFragment"
Tiger Oakes's avatar
Tiger Oakes committed
45
        app:destination="@id/addons_management_graph" />
46
47
    <action
        android:id="@+id/action_global_searchEngineFragment"
Tiger Oakes's avatar
Tiger Oakes committed
48
        app:destination="@id/search_engine_graph" />
49
50
51
52
53
54
55
56
57
58
59
60
61
62
    <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"
63
        app:destination="@id/syncedTabsFragment" />
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
    <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" />
    <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

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

    <fragment
        android:id="@+id/bookmarkAddFolderFragment"
        android:name="org.mozilla.fenix.library.bookmarks.addfolder.AddBookmarkFolderFragment"
        android:label="@string/bookmark_add_folder_fragment_label">
        <action
            android:id="@+id/action_bookmarkAddFolderFragment_to_bookmarkSelectFolderFragment"
            app:destination="@id/bookmarkSelectFolderFragment" />
305
    </fragment>
306

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

341
342
    <fragment
        android:id="@+id/savedLoginsFragment"
343
        android:name="org.mozilla.fenix.settings.logins.fragment.SavedLoginsFragment"
344
345
346
347
348
349
350
351
352
353
354
        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>

355
356
357
358
    <fragment
        android:id="@+id/syncedTabsFragment"
        android:name="org.mozilla.fenix.sync.SyncedTabsFragment"
        android:label="@string/synced_tabs"
359
        tools:layout="@layout/fragment_synced_tabs" />
360
361
362

    <fragment
        android:id="@+id/loginExceptionsFragment"
363
        android:name="org.mozilla.fenix.exceptions.login.LoginExceptionsFragment"
364
        android:label="@string/preferences_passwords_exceptions"
365
        tools:layout="@layout/fragment_exceptions" />
366

367
368
    <fragment
        android:id="@+id/loginDetailFragment"
369
        android:name="org.mozilla.fenix.settings.logins.fragment.LoginDetailFragment"
370
371
372
373
        tools:layout="@layout/fragment_login_detail">
        <argument
            android:name="savedLoginId"
            app:argType="string"
374
            app:nullable="false" />
375
376
377
378
        <action
            android:id="@+id/action_loginDetailFragment_to_editLoginFragment"
            app:destination="@id/editLoginFragment"
            app:popUpTo="@id/editLoginFragment"
379
            app:popUpToInclusive="true" />
380
381
382
383
    </fragment>

    <fragment
        android:id="@+id/editLoginFragment"
384
        android:name="org.mozilla.fenix.settings.logins.fragment.EditLoginFragment"
385
386
387
388
        android:label="@string/edit">
        <argument
            android:name="savedLoginItem"
            app:argType="org.mozilla.fenix.settings.logins.SavedLogin"
389
            app:nullable="false" />
390
391
392
393
        <action
            android:id="@+id/action_editLoginFragment_to_loginDetailFragment"
            app:destination="@id/loginDetailFragment"
            app:popUpTo="@id/loginDetailFragment"
394
            app:popUpToInclusive="true" />
395
396
    </fragment>

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

Emily Kager's avatar
Emily Kager committed
548
549
550
    <fragment
        android:id="@+id/accessibilityFragment"
        android:name="org.mozilla.fenix.settings.AccessibilityFragment"
551
        android:label="@string/preferences_accessibility" />
Emily Kager's avatar
Emily Kager committed
552
553
    <fragment
        android:id="@+id/accountSettingsFragment"
554
        android:name="org.mozilla.fenix.settings.account.AccountSettingsFragment"
555
556
557
558
559
        android:label="@string/preferences_account_settings">
        <action
            android:id="@+id/action_accountSettingsFragment_to_signOutFragment"
            app:destination="@id/signOutFragment" />
    </fragment>
560

561
    <fragment
562
        android:id="@+id/turnOnSyncFragment"
563
        android:name="org.mozilla.fenix.settings.account.TurnOnSyncFragment"
564
        android:label="@string/preferences_sync">
565
566
        <argument
            android:name="padSnackbar"
ekager's avatar
ekager committed
567
568
            android:defaultValue="false"
            app:argType="boolean" />
569
        <action
570
571
            android:id="@+id/action_turnOnSyncFragment_to_pairFragment"
            app:destination="@id/pairFragment" />
572
573
574
575
576
    </fragment>

    <fragment
        android:id="@+id/pairFragment"
        android:name="org.mozilla.fenix.settings.PairFragment"
577
        android:label="@string/preferences_sync" />
578

579
580
    <fragment
        android:id="@+id/aboutFragment"
581
        android:name="org.mozilla.fenix.settings.about.AboutFragment" />
582
583
    <fragment
        android:id="@+id/secretSettingsPreference"
584
        android:name="org.mozilla.fenix.settings.SecretSettingsFragment"
585
        android:label="@string/preferences_debug_settings" />
Emily Kager's avatar
Emily Kager committed
586
587
    <fragment
        android:id="@+id/crashReporterFragment"
ekager's avatar
ekager committed
588
        android:name="org.mozilla.fenix.crashes.CrashReporterFragment">
Emily Kager's avatar
Emily Kager committed
589
590
591
        <argument
            android:name="crashIntent"
            app:argType="android.content.Intent" />
592
    </fragment>
Emily Kager's avatar
Emily Kager committed
593
    <fragment
594
595
596
        android:id="@+id/customizationFragment"
        android:name="org.mozilla.fenix.settings.CustomizationFragment"
        android:label="@string/preferences_customize" />
597
598
599
600
    <fragment
        android:id="@+id/privateBrowsingFragment"
        android:name="org.mozilla.fenix.settings.PrivateBrowsingFragment"
        android:label="@string/preferences_private_browsing_options" />
601
602
    <fragment
        android:id="@+id/trackingProtectionFragment"
ekager's avatar
ekager committed
603
        android:name="org.mozilla.fenix.settings.TrackingProtectionFragment">
604
605
        <action
            android:id="@+id/action_trackingProtectionFragment_to_exceptionsFragment"
606
            app:destination="@id/trackingProtectionExceptionsFragment"
607
608
609
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
610
            app:popExitAnim="@anim/slide_out_right" />
611
612
        <action
            android:id="@+id/action_trackingProtectionFragment_to_trackingProtectionBlockingFragment"
613
            app:destination="@id/trackingProtectionBlockingFragment"
614
615
616
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
617
            app:popExitAnim="@anim/slide_out_right" />
618
    </fragment>
619
620
    <fragment
        android:id="@+id/deleteBrowsingDataFragment"
621
        android:name="org.mozilla.fenix.settings.deletebrowsingdata.DeleteBrowsingDataFragment"
Jeff Boek's avatar
Jeff Boek committed
622
        android:label="@string/preferences_delete_browsing_data" />
623
    <fragment
624
        android:id="@+id/trackingProtectionExceptionsFragment"
625
        android:name="org.mozilla.fenix.exceptions.trackingprotection.TrackingProtectionExceptionsFragment"
626
        android:label="@string/preference_exceptions" />
627
    <dialog
628
629
        android:id="@+id/collectionCreationFragment"
        android:name="org.mozilla.fenix.collections.CollectionCreationFragment"
ekager's avatar
ekager committed
630
        tools:layout="@layout/fragment_create_collection">
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
        <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>
651

652
    <dialog
ekager's avatar
ekager committed
653
654
655
        android:id="@+id/createShortcutFragment"
        android:name="org.mozilla.fenix.shortcut.CreateShortcutFragment"
        tools:layout="@layout/fragment_create_shortcut" />
656
    <dialog
657
658
659
        android:id="@+id/pwaOnboardingDialogFragment"
        android:name="org.mozilla.fenix.shortcut.PwaOnboardingDialogFragment"
        tools:layout="@layout/fragment_pwa_onboarding" />
660

661
662
663
    <dialog
        android:id="@+id/shareFragment"
        android:name="org.mozilla.fenix.share.ShareFragment"
664
        tools:layout="@layout/fragment_share">
665
        <argument
666
667
            android:name="data"
            app:argType="mozilla.components.concept.engine.prompt.ShareData[]" />
668
        <argument
669
            android:name="showPage"
ekager's avatar
ekager committed
670
671
            android:defaultValue="false"
            app:argType="boolean" />
672
673
674
        <action
            android:id="@+id/action_shareFragment_to_addNewDeviceFragment"
            app:destination="@id/addNewDeviceFragment" />
675
        <argument
ekager's avatar
ekager committed
676
677
678
679
            android:name="sessionId"
            android:defaultValue="null"
            app:argType="string"
            app:nullable="true" />
680
    </dialog>
681
682
    <dialog
        android:id="@+id/quickSettingsSheetDialogFragment"
683
        android:name="org.mozilla.fenix.settings.quicksettings.QuickSettingsSheetDialogFragment">
684
685
686
        <argument
            android:name="sessionId"
            app:argType="string" />
687
688
689
        <argument
            android:name="title"
            app:argType="string" />
690
691
692
693
694
695
696
697
698
699
700
701
        <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
702
703
            android:defaultValue="80"
            app:argType="integer" />
Kate Glazko's avatar
Kate Glazko committed
704
705
706
707
        <argument
            android:name="certificateName"
            android:defaultValue=" "
            app:argType="string" />
708
    </dialog>
709
710
    <fragment
        android:id="@+id/accountProblemFragment"
711
        android:name="org.mozilla.fenix.settings.account.AccountProblemFragment">
712
713
714
        <action
            android:id="@+id/action_accountProblemFragment_to_signOutFragment"
            app:destination="@id/signOutFragment" />
715
    </fragment>
716
717
    <dialog
        android:id="@+id/signOutFragment"
718
        android:name="org.mozilla.fenix.settings.account.SignOutFragment" />
719
720
    <dialog
        android:id="@+id/trackingProtectionPanelDialogFragment"
ekager's avatar
ekager committed
721
        android:name="org.mozilla.fenix.trackingprotection.TrackingProtectionPanelDialogFragment">
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
        <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"
738
739
        android:name="org.mozilla.fenix.trackingprotection.TrackingProtectionBlockingFragment"
        tools:layout="@layout/fragment_tracking_protection_blocking">
740
        <argument
mcarare's avatar
mcarare committed
741
            android:name="protectionMode"
742
            app:argType="org.mozilla.fenix.trackingprotection.TrackingProtectionMode" />
743
    </fragment>
744
745
    <fragment
        android:id="@+id/deleteBrowsingDataOnQuitFragment"
ekager's avatar
ekager committed
746
        android:name="org.mozilla.fenix.settings.deletebrowsingdata.DeleteBrowsingDataOnQuitFragment" />
747
748
749

    <fragment
        android:id="@+id/addNewDeviceFragment"
ekager's avatar
ekager committed
750
        android:name="org.mozilla.fenix.share.AddNewDeviceFragment" />
751
752
    <fragment
        android:id="@+id/localeSettingsFragment"
ekager's avatar
ekager committed
753
        android:name="org.mozilla.fenix.settings.advanced.LocaleSettingsFragment" />
754
755
    <fragment
        android:id="@+id/saveLoginSettingFragment"
756
        android:name="org.mozilla.fenix.settings.logins.fragment.SavedLoginsSettingFragment"
757
        android:label="SaveLoginSettingFragment" />
Gabriel Luong's avatar
Gabriel Luong committed
758
759
760
761
762
763
764
765
766
    <fragment
        android:id="@+id/webExtensionActionPopupFragment"
        android:name="org.mozilla.fenix.addons.WebExtensionActionPopupFragment">
        <argument
            android:name="webExtensionId"
            app:argType="string" />
        <argument
            android:name="webExtensionTitle"
            app:argType="string"
767
            app:nullable="true" />
Gabriel Luong's avatar
Gabriel Luong committed
768
    </fragment>
769
770
771
    <dialog
        android:id="@+id/tabHistoryDialogFragment"
        android:name="org.mozilla.fenix.tabhistory.TabHistoryDialogFragment" />
Tiger Oakes's avatar
Tiger Oakes committed
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
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

    <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
905
</navigation>