nav_graph.xml 36.8 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"
Jeff Boek's avatar
Jeff Boek committed
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
    <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"
        app:destination="@id/addonsManagementFragment" />
    <action
        android:id="@+id/action_global_searchEngineFragment"
        app:destination="@id/searchEngineFragment" />
    <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"
        app:destination="@+id/syncedTabsFragment" />
    <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"
        app:destination="@id/addonsManagementFragment" />
    <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" />
102
103
104
    <action
        android:id="@+id/action_global_savedLoginsAuthFragment"
        app:destination="@id/savedLoginsAuthFragment" />
105
106
107
108

    <dialog
        android:id="@+id/tabTrayDialogFragment"
        android:name="org.mozilla.fenix.tabtray.TabTrayDialogFragment"
109
        tools:layout="@layout/fragment_tab_tray_dialog" />
Gabriel Luong's avatar
Gabriel Luong committed
110

111
112
113
114
115
116
    <fragment
        android:id="@+id/homeFragment"
        android:name="org.mozilla.fenix.home.HomeFragment"
        tools:layout="@layout/fragment_home">
        <action
            android:id="@+id/action_homeFragment_to_browserFragment"
117
            app:destination="@id/browserFragment"
118
            app:exitAnim="@anim/zoom_in_fade"
119
            app:popEnterAnim="@anim/zoom_out_fade" />
120
121
122
123
124

        <argument
            android:name="focusOnAddressBar"
            android:defaultValue="false"
            app:argType="boolean" />
125
126
        <argument
            android:name="session_to_delete"
127
            android:defaultValue="@null"
128
            app:argType="string"
129
            app:nullable="true" />
130
    </fragment>
131

132
133
134
135
    <fragment
        android:id="@+id/searchFragment"
        android:name="org.mozilla.fenix.search.SearchFragment"
        tools:layout="@layout/fragment_search">
Emily Kager's avatar
Emily Kager committed
136
137
138
139
        <argument
            android:name="session_id"
            app:argType="string"
            app:nullable="true" />
140
141
        <argument
            android:name="pastedText"
142
            android:defaultValue="@null"
143
            app:argType="string"
144
            app:nullable="true" />
145
146
        <argument
            android:name="search_access_point"
147
148
            android:defaultValue="NONE"
            app:argType="org.mozilla.fenix.components.metrics.Event$PerformedSearch$SearchAccessPoint" />
149
    </fragment>
150

151
152
    <fragment
        android:id="@+id/SitePermissionsManagePhoneFeature"
153
        android:name="org.mozilla.fenix.settings.sitepermissions.SitePermissionsManagePhoneFeatureFragment"
154
155
        tools:layout="@layout/fragment_manage_site_permissions_feature_phone">
        <argument
156
157
            android:name="phoneFeature"
            app:argType="org.mozilla.fenix.settings.PhoneFeature" />
158
159
    </fragment>

160
161
    <fragment
        android:id="@+id/sitePermissionsExceptionsFragment"
162
        android:name="org.mozilla.fenix.settings.sitepermissions.SitePermissionsExceptionsFragment"
163
164
165
166
167
        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"
Emily Kager's avatar
Emily Kager committed
168
            app:popUpTo="@+id/sitePermissionsExceptionsFragment" />
169
170
171
172
    </fragment>

    <fragment
        android:id="@+id/sitePermissionsDetailsExceptionsFragment"
173
        android:name="org.mozilla.fenix.settings.sitepermissions.SitePermissionsDetailsExceptionsFragment"
174
175
176
177
        tools:layout="@xml/site_permissions_details_exceptions_preferences">
        <action
            android:id="@+id/action_site_permissions_to_exceptions_to_manage_phone_feature"
            app:destination="@id/sitePermissionsManageExceptionsPhoneFeatureFragment"
Emily Kager's avatar
Emily Kager committed
178
179
180
181
            app:popUpTo="@+id/sitePermissionsDetailsExceptionsFragment" />
        <argument
            android:name="sitePermissions"
            app:argType="mozilla.components.feature.sitepermissions.SitePermissions" />
182
183
184
185
    </fragment>

    <fragment
        android:id="@+id/sitePermissionsManageExceptionsPhoneFeatureFragment"
186
        android:name="org.mozilla.fenix.settings.sitepermissions.SitePermissionsManageExceptionsPhoneFeatureFragment"
187
188
        tools:layout="@layout/fragment_manage_site_permissions_feature_phone">
        <argument
189
190
            android:name="phoneFeature"
            app:argType="org.mozilla.fenix.settings.PhoneFeature" />
Emily Kager's avatar
Emily Kager committed
191
192
193
        <argument
            android:name="sitePermissions"
            app:argType="mozilla.components.feature.sitepermissions.SitePermissions" />
194
195
    </fragment>

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

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

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

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

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

356
357
358
359
360
361
362
363
364
365
366
367
368
369
    <fragment
        android:id="@+id/savedLoginsFragment"
        android:name="org.mozilla.fenix.settings.logins.SavedLoginsFragment"
        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>

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

    <fragment
        android:id="@+id/loginExceptionsFragment"
        android:name="org.mozilla.fenix.loginexceptions.LoginExceptionsFragment"
        android:label="@string/preferences_passwords_exceptions"
        tools:layout="@layout/fragment_exceptions"/>
381

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

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

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

Emily Kager's avatar
Emily Kager committed
563
564
565
    <fragment
        android:id="@+id/accessibilityFragment"
        android:name="org.mozilla.fenix.settings.AccessibilityFragment"
566
        android:label="@string/preferences_accessibility" />
Emily Kager's avatar
Emily Kager committed
567
568
    <fragment
        android:id="@+id/accountSettingsFragment"
569
        android:name="org.mozilla.fenix.settings.account.AccountSettingsFragment"
570
571
572
573
574
        android:label="@string/preferences_account_settings">
        <action
            android:id="@+id/action_accountSettingsFragment_to_signOutFragment"
            app:destination="@id/signOutFragment" />
    </fragment>
575
576
    <fragment
        android:id="@+id/searchEngineFragment"
577
        android:name="org.mozilla.fenix.settings.search.SearchEngineFragment"
Jeff Boek's avatar
Jeff Boek committed
578
579
580
581
582
583
584
585
        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>
586

587
    <fragment
588
        android:id="@+id/turnOnSyncFragment"
589
        android:name="org.mozilla.fenix.settings.account.TurnOnSyncFragment"
590
        android:label="@string/preferences_sync">
591
592
        <argument
            android:name="padSnackbar"
ekager's avatar
ekager committed
593
594
            android:defaultValue="false"
            app:argType="boolean" />
595
        <action
596
597
            android:id="@+id/action_turnOnSyncFragment_to_pairFragment"
            app:destination="@id/pairFragment" />
598
599
600
601
602
    </fragment>

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

605
606
    <fragment
        android:id="@+id/aboutFragment"
607
        android:name="org.mozilla.fenix.settings.about.AboutFragment" />
608
609
    <fragment
        android:id="@+id/secretSettingsPreference"
610
        android:name="org.mozilla.fenix.settings.SecretSettingsFragment"
611
        android:label="@string/preferences_debug_settings" />
Emily Kager's avatar
Emily Kager committed
612
613
    <fragment
        android:id="@+id/crashReporterFragment"
ekager's avatar
ekager committed
614
        android:name="org.mozilla.fenix.crashes.CrashReporterFragment">
Emily Kager's avatar
Emily Kager committed
615
616
617
        <argument
            android:name="crashIntent"
            app:argType="android.content.Intent" />
618
    </fragment>
Emily Kager's avatar
Emily Kager committed
619
    <fragment
620
621
622
        android:id="@+id/customizationFragment"
        android:name="org.mozilla.fenix.settings.CustomizationFragment"
        android:label="@string/preferences_customize" />
623
624
625
626
    <fragment
        android:id="@+id/privateBrowsingFragment"
        android:name="org.mozilla.fenix.settings.PrivateBrowsingFragment"
        android:label="@string/preferences_private_browsing_options" />
627
628
    <fragment
        android:id="@+id/trackingProtectionFragment"
ekager's avatar
ekager committed
629
        android:name="org.mozilla.fenix.settings.TrackingProtectionFragment">
630
631
        <action
            android:id="@+id/action_trackingProtectionFragment_to_exceptionsFragment"
632
            app:destination="@id/trackingProtectionExceptionsFragment"
633
634
635
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
636
            app:popExitAnim="@anim/slide_out_right" />
637
638
        <action
            android:id="@+id/action_trackingProtectionFragment_to_trackingProtectionBlockingFragment"
639
            app:destination="@id/trackingProtectionBlockingFragment"
640
641
642
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
643
            app:popExitAnim="@anim/slide_out_right" />
644
    </fragment>
645
646
    <fragment
        android:id="@+id/deleteBrowsingDataFragment"
647
        android:name="org.mozilla.fenix.settings.deletebrowsingdata.DeleteBrowsingDataFragment"
Jeff Boek's avatar
Jeff Boek committed
648
        android:label="@string/preferences_delete_browsing_data" />
649
    <fragment
650
651
652
        android:id="@+id/trackingProtectionExceptionsFragment"
        android:name="org.mozilla.fenix.trackingprotectionexceptions.TrackingProtectionExceptionsFragment"
        android:label="@string/preference_exceptions" />
653
    <dialog
654
655
        android:id="@+id/collectionCreationFragment"
        android:name="org.mozilla.fenix.collections.CollectionCreationFragment"
ekager's avatar
ekager committed
656
        tools:layout="@layout/fragment_create_collection">
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
        <argument
            android:name="tabIds"
            android:defaultValue="@null"
            app:argType="string[]"
            app:nullable="true" />
        <argument
            android:name="selectedTabIds"
            android:defaultValue="@null"
            app:argType="string[]"
            app:nullable="true" />
        <!-- nav_graph does not allow nullable Longs, so this defaults to -1 -->
        <argument
            android:name="selectedTabCollectionId"
            android:defaultValue="-1L"
            app:argType="long" />
        <argument
            android:name="saveCollectionStep"
            app:argType="org.mozilla.fenix.collections.SaveCollectionStep"
            app:nullable="false" />
    </dialog>
677

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

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

    <fragment
        android:id="@+id/addNewDeviceFragment"
ekager's avatar
ekager committed
777
        android:name="org.mozilla.fenix.share.AddNewDeviceFragment" />
Jeff Boek's avatar
Jeff Boek committed
778
779
    <fragment
        android:id="@+id/addSearchEngineFragment"
ekager's avatar
ekager committed
780
        android:name="org.mozilla.fenix.settings.search.AddSearchEngineFragment" />
Jeff Boek's avatar
Jeff Boek committed
781
782
    <fragment
        android:id="@+id/editCustomSearchEngineFragment"
ekager's avatar
ekager committed
783
        android:name="org.mozilla.fenix.settings.search.EditCustomSearchEngineFragment">
Jeff Boek's avatar
Jeff Boek committed
784
785
786
787
        <argument
            android:name="searchEngineIdentifier"
            app:argType="string" />
    </fragment>
788
789
    <fragment
        android:id="@+id/localeSettingsFragment"
ekager's avatar
ekager committed
790
        android:name="org.mozilla.fenix.settings.advanced.LocaleSettingsFragment" />
791
792
    <fragment
        android:id="@+id/saveLoginSettingFragment"
793
        android:name="org.mozilla.fenix.settings.logins.SavedLoginsSettingFragment"
794
        android:label="SaveLoginSettingFragment" />
Gabriel Luong's avatar
Gabriel Luong committed
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
    <fragment
        android:id="@+id/addonsManagementFragment"
        android:name="org.mozilla.fenix.addons.AddonsManagementFragment">
        <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/addonDetailsFragment"
        android:name="org.mozilla.fenix.addons.AddonDetailsFragment">
        <argument
            android:name="addon"
            app:argType="mozilla.components.feature.addons.Addon" />
    </fragment>
    <fragment
        android:id="@+id/installedAddonDetailsFragment"
        android:name="org.mozilla.fenix.addons.InstalledAddonDetailsFragment">
        <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">
        <argument
            android:name="addons"
            app:argType="mozilla.components.feature.addons.Addon[]" />
    </fragment>
    <fragment
        android:id="@+id/addonInternalSettingsFragment"
        android:name="org.mozilla.fenix.addons.AddonInternalSettingsFragment">
        <argument
            android:name="addon"
            app:argType="mozilla.components.feature.addons.Addon" />
    </fragment>
    <fragment
        android:id="@+id/addonPermissionsDetailFragment"
        android:name="org.mozilla.fenix.addons.AddonPermissionsDetailsFragment">
        <argument
            android:name="addon"
            app:argType="mozilla.components.feature.addons.Addon" />
    </fragment>
    <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"
861
            app:nullable="true" />
Gabriel Luong's avatar
Gabriel Luong committed
862
    </fragment>
Tiger Oakes's avatar
Tiger Oakes committed
863
</navigation>