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

Jeff Boek's avatar
Jeff Boek committed
8
9
    <action
        android:id="@+id/action_global_home"
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
105

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

108
109
110
111
112
113
    <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"
114
            app:destination="@id/browserFragment"
115
            app:exitAnim="@anim/zoom_in_fade"
116
            app:popEnterAnim="@anim/zoom_out_fade" />
117
118
119
120
121

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

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

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

157
158
    <fragment
        android:id="@+id/sitePermissionsExceptionsFragment"
159
        android:name="org.mozilla.fenix.settings.sitepermissions.SitePermissionsExceptionsFragment"
160
161
162
163
164
        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
165
            app:popUpTo="@+id/sitePermissionsExceptionsFragment" />
166
167
168
169
    </fragment>

    <fragment
        android:id="@+id/sitePermissionsDetailsExceptionsFragment"
170
        android:name="org.mozilla.fenix.settings.sitepermissions.SitePermissionsDetailsExceptionsFragment"
171
172
173
174
        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
175
176
177
178
            app:popUpTo="@+id/sitePermissionsDetailsExceptionsFragment" />
        <argument
            android:name="sitePermissions"
            app:argType="mozilla.components.feature.sitepermissions.SitePermissions" />
179
180
181
182
    </fragment>

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

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

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

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

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

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

353
354
355
356
357
358
359
360
361
362
363
364
365
366
    <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>

367
368
369
370
    <fragment
        android:id="@+id/syncedTabsFragment"
        android:name="org.mozilla.fenix.sync.SyncedTabsFragment"
        android:label="@string/synced_tabs"
371
372
373
374
375
376
377
        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"/>
378

379
380
381
382
383
384
385
    <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"
386
            app:nullable="false" />
387
388
389
390
        <action
            android:id="@+id/action_loginDetailFragment_to_editLoginFragment"
            app:destination="@id/editLoginFragment"
            app:popUpTo="@id/editLoginFragment"
391
            app:popUpToInclusive="true" />
392
393
394
395
396
397
398
399
400
    </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"
401
            app:nullable="false" />
402
403
404
405
        <action
            android:id="@+id/action_editLoginFragment_to_loginDetailFragment"
            app:destination="@id/loginDetailFragment"
            app:popUpTo="@id/loginDetailFragment"
406
            app:popUpToInclusive="true" />
407
408
    </fragment>

409
410
411
    <fragment
        android:id="@+id/settingsFragment"
        android:name="org.mozilla.fenix.settings.SettingsFragment"
Emily Kager's avatar
Emily Kager committed
412
413
414
        android:label="@string/settings_title">
        <action
            android:id="@+id/action_settingsFragment_to_dataChoicesFragment"
415
            app:destination="@id/dataChoicesFragment"
416
417
418
419
            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
420
421
422
            app:popUpTo="@+id/settingsFragment" />
        <action
            android:id="@+id/action_settingsFragment_to_sitePermissionsFragment"
423
            app:destination="@id/sitePermissionsFragment"
424
425
426
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
427
            app:popExitAnim="@anim/slide_out_right" />
ekager's avatar
ekager committed
428
        <action
429
            android:id="@+id/action_settingsFragment_to_savedLoginsAuthFragment"
430
            app:destination="@id/savedLoginsAuthFragment"
431
432
433
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
434
            app:popExitAnim="@anim/slide_out_right" />
Emily Kager's avatar
Emily Kager committed
435
436
        <action
            android:id="@+id/action_settingsFragment_to_accessibilityFragment"
437
            app:destination="@id/accessibilityFragment"
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" />
Emily Kager's avatar
Emily Kager committed
442
443
        <action
            android:id="@+id/action_settingsFragment_to_accountSettingsFragment"
444
            app:destination="@id/accountSettingsFragment"
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" />
449
450
        <action
            android:id="@+id/action_settingsFragment_to_searchEngineFragment"
451
            app:destination="@id/searchEngineFragment"
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" />
456
        <action
457
            android:id="@+id/action_settingsFragment_to_turnOnSyncFragment"
458
            app:destination="@id/turnOnSyncFragment"
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_aboutFragment"
465
            app:destination="@id/aboutFragment"
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
471
        <action
            android:id="@+id/action_settingsFragment_to_secretSettingsFragment"
472
            app:destination="@id/secretSettingsPreference"
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" />
Emily Kager's avatar
Emily Kager committed
477
        <action
478
            android:id="@+id/action_settingsFragment_to_customizationFragment"
479
            app:destination="@id/customizationFragment"
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_privateBrowsingFragment"
486
            app:destination="@id/privateBrowsingFragment"
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" />
491
492
        <action
            android:id="@+id/action_settingsFragment_to_trackingProtectionFragment"
493
            app:destination="@id/trackingProtectionFragment"
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_deleteBrowsingDataFragment"
500
            app:destination="@id/deleteBrowsingDataFragment"
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_accountProblemFragment"
507
            app:destination="@id/accountProblemFragment"
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_deleteBrowsingDataOnQuitFragment"
514
            app:destination="@id/deleteBrowsingDataOnQuitFragment"
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_localeSettingsFragment"
521
            app:destination="@id/localeSettingsFragment"
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" />
Gabriel Luong's avatar
Gabriel Luong committed
526
527
        <action
            android:id="@+id/action_settingsFragment_to_addonsFragment"
528
            app:destination="@id/addonsManagementFragment"
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
    </fragment>
534
    <fragment
Emily Kager's avatar
Emily Kager committed
535
536
        android:id="@+id/dataChoicesFragment"
        android:name="org.mozilla.fenix.settings.DataChoicesFragment"
537
        android:label="@string/preferences_data_choices" />
Emily Kager's avatar
Emily Kager committed
538
539
    <fragment
        android:id="@+id/sitePermissionsFragment"
540
        android:name="org.mozilla.fenix.settings.sitepermissions.SitePermissionsFragment"
Emily Kager's avatar
Emily Kager committed
541
        android:label="@string/preferences_site_permissions">
542
543
        <action
            android:id="@+id/action_site_permissions_to_manage_phone_features"
544
            app:destination="@id/SitePermissionsManagePhoneFeature"
545
546
547
548
            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
549
            app:popUpTo="@id/sitePermissionsFragment" />
550
551
        <action
            android:id="@+id/action_site_permissions_to_exceptions"
552
            app:destination="@id/sitePermissionsExceptionsFragment"
553
554
555
556
            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
557
            app:popUpTo="@id/sitePermissionsFragment" />
558
559
    </fragment>

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

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

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

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

675
    <dialog
ekager's avatar
ekager committed
676
677
678
        android:id="@+id/createShortcutFragment"
        android:name="org.mozilla.fenix.shortcut.CreateShortcutFragment"
        tools:layout="@layout/fragment_create_shortcut" />
679
680
681
682
683
684
    <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" />

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

    <fragment
        android:id="@+id/addNewDeviceFragment"
ekager's avatar
ekager committed
774
        android:name="org.mozilla.fenix.share.AddNewDeviceFragment" />
Jeff Boek's avatar
Jeff Boek committed
775
776
    <fragment
        android:id="@+id/addSearchEngineFragment"
ekager's avatar
ekager committed
777
        android:name="org.mozilla.fenix.settings.search.AddSearchEngineFragment" />
Jeff Boek's avatar
Jeff Boek committed
778
779
    <fragment
        android:id="@+id/editCustomSearchEngineFragment"
ekager's avatar
ekager committed
780
        android:name="org.mozilla.fenix.settings.search.EditCustomSearchEngineFragment">
Jeff Boek's avatar
Jeff Boek committed
781
782
783
784
        <argument
            android:name="searchEngineIdentifier"
            app:argType="string" />
    </fragment>
785
786
    <fragment
        android:id="@+id/localeSettingsFragment"
ekager's avatar
ekager committed
787
        android:name="org.mozilla.fenix.settings.advanced.LocaleSettingsFragment" />
788
789
    <fragment
        android:id="@+id/saveLoginSettingFragment"
790
        android:name="org.mozilla.fenix.settings.logins.SavedLoginsSettingFragment"
791
        android:label="SaveLoginSettingFragment" />
Gabriel Luong's avatar
Gabriel Luong committed
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
    <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"
858
            app:nullable="true" />
Gabriel Luong's avatar
Gabriel Luong committed
859
    </fragment>
Tiger Oakes's avatar
Tiger Oakes committed
860
</navigation>