nav_graph.xml 35.6 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

Jeff Boek's avatar
Jeff Boek committed
30
31
32
33
34
35
36
37
38
    <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" />
39
    <action android:id="@+id/action_global_syncedTabsFragment" app:destination="@+id/syncedTabsFragment" />
Jeff Boek's avatar
Jeff Boek committed
40
41
42
43
44
45
46
47
48
49
50
51
52
    <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_exceptionsFragment" app:destination="@id/exceptionsFragment" />
    <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"/>
53
54
55
56
57
58
    <action android:id="@+id/action_global_tabTrayDialogFragment" app:destination="@id/tabTrayDialogFragment"/>

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

60
61
62
63
64
65
    <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"
66
            app:destination="@id/browserFragment"
67
            app:exitAnim="@anim/zoom_in_fade"
68
            app:popEnterAnim="@anim/zoom_out_fade" />
69
    </fragment>
70

71
72
73
74
    <fragment
        android:id="@+id/searchFragment"
        android:name="org.mozilla.fenix.search.SearchFragment"
        tools:layout="@layout/fragment_search">
Emily Kager's avatar
Emily Kager committed
75
76
77
78
        <argument
            android:name="session_id"
            app:argType="string"
            app:nullable="true" />
79
80
        <argument
            android:name="pastedText"
81
            android:defaultValue="@null"
82
            app:argType="string"
83
            app:nullable="true" />
84
85
86
87
        <argument
            android:name="search_access_point"
            app:argType="org.mozilla.fenix.components.metrics.Event$PerformedSearch$SearchAccessPoint"
            android:defaultValue="NONE" />
88
    </fragment>
89

90
91
    <fragment
        android:id="@+id/SitePermissionsManagePhoneFeature"
92
        android:name="org.mozilla.fenix.settings.sitepermissions.SitePermissionsManagePhoneFeatureFragment"
93
94
95
        tools:layout="@layout/fragment_manage_site_permissions_feature_phone">
        <argument
            android:name="permission"
Emily Kager's avatar
Emily Kager committed
96
            app:argType="integer" />
97
98
    </fragment>

99
100
    <fragment
        android:id="@+id/sitePermissionsExceptionsFragment"
101
        android:name="org.mozilla.fenix.settings.sitepermissions.SitePermissionsExceptionsFragment"
102
103
104
105
106
        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
107
            app:popUpTo="@+id/sitePermissionsExceptionsFragment" />
108
109
110
111
    </fragment>

    <fragment
        android:id="@+id/sitePermissionsDetailsExceptionsFragment"
112
        android:name="org.mozilla.fenix.settings.sitepermissions.SitePermissionsDetailsExceptionsFragment"
113
114
115
116
        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
117
118
119
120
            app:popUpTo="@+id/sitePermissionsDetailsExceptionsFragment" />
        <argument
            android:name="sitePermissions"
            app:argType="mozilla.components.feature.sitepermissions.SitePermissions" />
121
122
123
124
    </fragment>

    <fragment
        android:id="@+id/sitePermissionsManageExceptionsPhoneFeatureFragment"
125
        android:name="org.mozilla.fenix.settings.sitepermissions.SitePermissionsManageExceptionsPhoneFeatureFragment"
126
127
128
        tools:layout="@layout/fragment_manage_site_permissions_feature_phone">
        <argument
            android:name="phoneFeatureId"
Emily Kager's avatar
Emily Kager committed
129
130
131
132
            app:argType="integer" />
        <argument
            android:name="sitePermissions"
            app:argType="mozilla.components.feature.sitepermissions.SitePermissions" />
133
134
    </fragment>

135
136
137
    <fragment
        android:id="@+id/browserFragment"
        android:name="org.mozilla.fenix.browser.BrowserFragment"
138
        app:exitAnim="@anim/fade_out"
139
        tools:layout="@layout/fragment_browser">
140
141
        <action
            android:id="@+id/action_browserFragment_to_searchFragment"
142
143
            app:enterAnim="@anim/fade_in_up"
            app:popExitAnim="@anim/fade_out_down"
144
            app:destination="@id/searchFragment" />
145
        <argument
146
            android:name="activeSessionId"
147
148
            app:argType="string"
            app:nullable="true" />
149
150
151
152
        <argument
            android:name="shouldAnimate"
            app:argType="boolean"
            android:defaultValue="false" />
153
154
155
        <action
            android:id="@+id/action_browserFragment_to_syncedTabsFragment"
            app:destination="@id/syncedTabsFragment" />
156
157
158
        <action
            android:id="@+id/action_browserFragment_to_settingsFragment"
            app:destination="@id/settingsFragment" />
159
        <action
ekager's avatar
ekager committed
160
161
            android:id="@+id/action_browserFragment_to_createShortcutFragment"
            app:destination="@id/createShortcutFragment" />
162
163
164
        <action
            android:id="@+id/action_browserFragment_to_firstTimePwaFragment"
            app:destination="@id/firstTimePwaFragment" />
165
166
167
        <action
            android:id="@+id/action_browserFragment_to_quickSettingsSheetDialogFragment"
            app:destination="@id/quickSettingsSheetDialogFragment" />
168
169
170
        <action
            android:id="@+id/action_browserFragment_to_trackingProtectionPanelDialogFragment"
            app:destination="@id/trackingProtectionPanelDialogFragment" />
171
172
173
        <action
            android:id="@+id/action_browserFragment_to_tabsTrayFragment"
            app:destination="@+id/tabTrayFragment" />
174
    </fragment>
175

Tiger Oakes's avatar
Tiger Oakes committed
176
    <fragment
177
178
179
        android:id="@+id/externalAppBrowserFragment"
        android:name="org.mozilla.fenix.customtabs.ExternalAppBrowserFragment"
        tools:layout="@layout/fragment_browser">
ekager's avatar
ekager committed
180
181
182
183
184
185
186
187
        <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
188
189
    </fragment>

190
191
192
193
    <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
194
        tools:layout="@layout/fragment_history" />
195

196
197
198
199
200
201
202
203
204
205
    <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" />
206
207
208
        <action
            android:id="@+id/action_bookmarkFragment_to_bookmarkEditFragment"
            app:destination="@id/bookmarkEditFragment" />
209
210
211
        <action
            android:id="@+id/action_bookmarkFragment_to_bookmarkAddFolderFragment"
            app:destination="@id/bookmarkAddFolderFragment" />
212
213
214
215
216
217
218
219
220
    </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
221
            app:nullable="false" />
222
223
224
        <action
            android:id="@+id/action_bookmarkEditFragment_to_bookmarkSelectFolderFragment"
            app:destination="@id/bookmarkSelectFolderFragment" />
Mihai Eduard Badea's avatar
Mihai Eduard Badea committed
225
226
227
228
        <argument
            android:name="requiresSnackbarPaddingForToolbar"
            app:argType="boolean"
            android:defaultValue="false" />
229
230
231
232
233
234
235
236
237
238
    </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
239
            app:nullable="true" />
240
241
242
243
244
245
246
247
        <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
248
249
            android:defaultValue="false"
            app:argType="boolean" />
250
251
252
253
254
255
256
257
258
    </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" />
259
    </fragment>
260

ekager's avatar
ekager committed
261
    <fragment
262
263
        android:id="@+id/savedLoginsAuthFragment"
        android:name="org.mozilla.fenix.settings.logins.SavedLoginsAuthFragment"
ekager's avatar
ekager committed
264
265
        android:label="@string/preferences_passwords_logins_and_passwords">
        <action
266
            android:id="@+id/action_savedLoginsAuthFragment_to_loginsListFragment"
267
268
269
270
            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
271
272
            app:destination="@id/savedLoginsFragment" />
        <action
273
            android:id="@+id/action_savedLoginsAuthFragment_to_turnOnSyncFragment"
274
275
276
277
            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
278
            app:destination="@id/turnOnSyncFragment" />
279
        <action
280
            android:id="@+id/action_savedLoginsAuthFragment_to_savedLoginsSettingFragment"
281
282
283
284
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
            app:popExitAnim="@anim/slide_out_right"
285
            app:destination="@id/saveLoginSettingFragment" />
ekager's avatar
ekager committed
286
287
    </fragment>

288
289
290
291
292
293
294
295
296
297
298
299
300
301
    <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>

302
303
304
305
306
307
308
    <fragment
        android:id="@+id/syncedTabsFragment"
        android:name="org.mozilla.fenix.sync.SyncedTabsFragment"
        android:label="@string/synced_tabs"
        tools:layout="@layout/fragment_synced_tabs">
    </fragment>

309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
    <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"
            app:nullable="false"/>
        <action
            android:id="@+id/action_loginDetailFragment_to_editLoginFragment"
            app:destination="@id/editLoginFragment"
            app:popUpTo="@id/editLoginFragment"
            app:popUpToInclusive="true"/>
    </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"
            app:nullable="false"/>
        <action
            android:id="@+id/action_editLoginFragment_to_loginDetailFragment"
            app:destination="@id/loginDetailFragment"
            app:popUpTo="@id/loginDetailFragment"
            app:popUpToInclusive="true"/>
    </fragment>

339
340
341
    <fragment
        android:id="@+id/settingsFragment"
        android:name="org.mozilla.fenix.settings.SettingsFragment"
Emily Kager's avatar
Emily Kager committed
342
343
344
        android:label="@string/settings_title">
        <action
            android:id="@+id/action_settingsFragment_to_dataChoicesFragment"
345
346
347
348
            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
349
350
351
352
            app:destination="@id/dataChoicesFragment"
            app:popUpTo="@+id/settingsFragment" />
        <action
            android:id="@+id/action_settingsFragment_to_sitePermissionsFragment"
353
354
355
356
            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
357
            app:destination="@id/sitePermissionsFragment" />
ekager's avatar
ekager committed
358
        <action
359
            android:id="@+id/action_settingsFragment_to_savedLoginsAuthFragment"
360
361
362
363
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
            app:popExitAnim="@anim/slide_out_right"
364
            app:destination="@id/savedLoginsAuthFragment" />
Emily Kager's avatar
Emily Kager committed
365
366
        <action
            android:id="@+id/action_settingsFragment_to_accessibilityFragment"
367
368
369
370
            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
371
372
373
            app:destination="@id/accessibilityFragment" />
        <action
            android:id="@+id/action_settingsFragment_to_accountSettingsFragment"
374
375
376
377
            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
378
            app:destination="@id/accountSettingsFragment" />
379
380
        <action
            android:id="@+id/action_settingsFragment_to_searchEngineFragment"
381
382
383
384
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
            app:popExitAnim="@anim/slide_out_right"
385
            app:destination="@id/searchEngineFragment" />
386
        <action
387
            android:id="@+id/action_settingsFragment_to_turnOnSyncFragment"
388
389
390
391
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
            app:popExitAnim="@anim/slide_out_right"
392
            app:destination="@id/turnOnSyncFragment" />
393
394
        <action
            android:id="@+id/action_settingsFragment_to_aboutFragment"
395
396
397
398
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
            app:popExitAnim="@anim/slide_out_right"
399
            app:destination="@id/aboutFragment" />
400
401
402
403
404
405
406
        <action
            android:id="@+id/action_settingsFragment_to_secretSettingsFragment"
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
            app:popExitAnim="@anim/slide_out_right"
            app:destination="@id/secretSettingsPreference" />
Emily Kager's avatar
Emily Kager committed
407
        <action
408
            android:id="@+id/action_settingsFragment_to_customizationFragment"
409
410
411
412
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
            app:popExitAnim="@anim/slide_out_right"
413
            app:destination="@id/customizationFragment" />
414
415
        <action
            android:id="@+id/action_settingsFragment_to_privateBrowsingFragment"
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"
420
            app:destination="@id/privateBrowsingFragment" />
421
422
        <action
            android:id="@+id/action_settingsFragment_to_trackingProtectionFragment"
423
424
425
426
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
            app:popExitAnim="@anim/slide_out_right"
427
            app:destination="@id/trackingProtectionFragment" />
428
429
        <action
            android:id="@+id/action_settingsFragment_to_deleteBrowsingDataFragment"
430
431
432
433
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
            app:popExitAnim="@anim/slide_out_right"
434
            app:destination="@id/deleteBrowsingDataFragment" />
435
436
        <action
            android:id="@+id/action_settingsFragment_to_accountProblemFragment"
437
438
439
440
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
            app:popExitAnim="@anim/slide_out_right"
441
            app:destination="@id/accountProblemFragment" />
442
443
        <action
            android:id="@+id/action_settingsFragment_to_deleteBrowsingDataOnQuitFragment"
444
445
446
447
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
            app:popExitAnim="@anim/slide_out_right"
448
            app:destination="@id/deleteBrowsingDataOnQuitFragment" />
449
        <action
450
            android:id="@+id/action_settingsFragment_to_defaultBrowserSettingsFragment"
451
452
453
454
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
            app:popExitAnim="@anim/slide_out_right"
455
            app:destination="@id/defaultBrowserSettingsFragment" />
456
457
        <action
            android:id="@+id/action_settingsFragment_to_localeSettingsFragment"
458
459
460
461
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
            app:popExitAnim="@anim/slide_out_right"
462
            app:destination="@id/localeSettingsFragment" />
Gabriel Luong's avatar
Gabriel Luong committed
463
464
        <action
            android:id="@+id/action_settingsFragment_to_addonsFragment"
465
466
467
468
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
            app:popExitAnim="@anim/slide_out_right"
Gabriel Luong's avatar
Gabriel Luong committed
469
            app:destination="@id/addonsManagementFragment" />
470
    </fragment>
471
    <fragment
Emily Kager's avatar
Emily Kager committed
472
473
        android:id="@+id/dataChoicesFragment"
        android:name="org.mozilla.fenix.settings.DataChoicesFragment"
474
        android:label="@string/preferences_data_choices" />
Emily Kager's avatar
Emily Kager committed
475
476
    <fragment
        android:id="@+id/sitePermissionsFragment"
477
        android:name="org.mozilla.fenix.settings.sitepermissions.SitePermissionsFragment"
Emily Kager's avatar
Emily Kager committed
478
        android:label="@string/preferences_site_permissions">
479
480
        <action
            android:id="@+id/action_site_permissions_to_manage_phone_features"
481
482
483
484
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
            app:popExitAnim="@anim/slide_out_right"
485
            app:destination="@id/SitePermissionsManagePhoneFeature"
Emily Kager's avatar
Emily Kager committed
486
            app:popUpTo="@id/sitePermissionsFragment" />
487
488
        <action
            android:id="@+id/action_site_permissions_to_exceptions"
489
490
491
492
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
            app:popExitAnim="@anim/slide_out_right"
493
            app:destination="@id/sitePermissionsExceptionsFragment"
Emily Kager's avatar
Emily Kager committed
494
            app:popUpTo="@id/sitePermissionsFragment" />
495
496
    </fragment>

Emily Kager's avatar
Emily Kager committed
497
498
499
    <fragment
        android:id="@+id/accessibilityFragment"
        android:name="org.mozilla.fenix.settings.AccessibilityFragment"
500
        android:label="@string/preferences_accessibility" />
Emily Kager's avatar
Emily Kager committed
501
502
    <fragment
        android:id="@+id/accountSettingsFragment"
503
        android:name="org.mozilla.fenix.settings.account.AccountSettingsFragment"
504
505
506
507
508
        android:label="@string/preferences_account_settings">
        <action
            android:id="@+id/action_accountSettingsFragment_to_signOutFragment"
            app:destination="@id/signOutFragment" />
    </fragment>
509
510
    <fragment
        android:id="@+id/searchEngineFragment"
511
        android:name="org.mozilla.fenix.settings.search.SearchEngineFragment"
Jeff Boek's avatar
Jeff Boek committed
512
513
514
515
516
517
518
519
        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>
520

521
    <fragment
522
        android:id="@+id/turnOnSyncFragment"
523
        android:name="org.mozilla.fenix.settings.account.TurnOnSyncFragment"
524
        android:label="@string/preferences_sync">
525
526
        <argument
            android:name="padSnackbar"
ekager's avatar
ekager committed
527
528
            android:defaultValue="false"
            app:argType="boolean" />
529
        <action
530
531
            android:id="@+id/action_turnOnSyncFragment_to_pairFragment"
            app:destination="@id/pairFragment" />
532
533
534
535
536
    </fragment>

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

539
540
    <fragment
        android:id="@+id/aboutFragment"
Jeff Boek's avatar
Jeff Boek committed
541
        android:name="org.mozilla.fenix.settings.about.AboutFragment"/>
542
543
544
545
    <fragment
        android:id="@+id/secretSettingsPreference"
        android:name="org.mozilla.fenix.settings.SecretSettingsPreference"
        android:label="@string/preferences_debug_settings" />
Emily Kager's avatar
Emily Kager committed
546
547
    <fragment
        android:id="@+id/crashReporterFragment"
ekager's avatar
ekager committed
548
        android:name="org.mozilla.fenix.crashes.CrashReporterFragment">
Emily Kager's avatar
Emily Kager committed
549
550
551
        <argument
            android:name="crashIntent"
            app:argType="android.content.Intent" />
552
    </fragment>
Emily Kager's avatar
Emily Kager committed
553
    <fragment
554
555
556
        android:id="@+id/customizationFragment"
        android:name="org.mozilla.fenix.settings.CustomizationFragment"
        android:label="@string/preferences_customize" />
557
558
559
560
    <fragment
        android:id="@+id/privateBrowsingFragment"
        android:name="org.mozilla.fenix.settings.PrivateBrowsingFragment"
        android:label="@string/preferences_private_browsing_options" />
561
562
    <fragment
        android:id="@+id/trackingProtectionFragment"
ekager's avatar
ekager committed
563
        android:name="org.mozilla.fenix.settings.TrackingProtectionFragment">
564
565
        <action
            android:id="@+id/action_trackingProtectionFragment_to_exceptionsFragment"
566
567
568
569
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
            app:popExitAnim="@anim/slide_out_right"
570
            app:destination="@id/exceptionsFragment" />
571
572
        <action
            android:id="@+id/action_trackingProtectionFragment_to_trackingProtectionBlockingFragment"
573
574
575
576
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
            app:popExitAnim="@anim/slide_out_right"
577
            app:destination="@id/trackingProtectionBlockingFragment" />
578
    </fragment>
579
580
    <fragment
        android:id="@+id/deleteBrowsingDataFragment"
581
        android:name="org.mozilla.fenix.settings.deletebrowsingdata.DeleteBrowsingDataFragment"
Jeff Boek's avatar
Jeff Boek committed
582
        android:label="@string/preferences_delete_browsing_data" />
583
584
585
    <fragment
        android:id="@+id/exceptionsFragment"
        android:name="org.mozilla.fenix.exceptions.ExceptionsFragment"
Jeff Boek's avatar
Jeff Boek committed
586
        android:label="@string/preference_exceptions"/>
587
    <dialog
588
589
        android:id="@+id/collectionCreationFragment"
        android:name="org.mozilla.fenix.collections.CollectionCreationFragment"
ekager's avatar
ekager committed
590
        tools:layout="@layout/fragment_create_collection">
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
        <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>
611

612
    <dialog
ekager's avatar
ekager committed
613
614
615
        android:id="@+id/createShortcutFragment"
        android:name="org.mozilla.fenix.shortcut.CreateShortcutFragment"
        tools:layout="@layout/fragment_create_shortcut" />
616
617
618
619
620
621
    <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" />

622
623
624
    <dialog
        android:id="@+id/shareFragment"
        android:name="org.mozilla.fenix.share.ShareFragment"
625
        tools:layout="@layout/fragment_share">
626
        <argument
627
628
            android:name="data"
            app:argType="mozilla.components.concept.engine.prompt.ShareData[]" />
629
        <argument
630
            android:name="showPage"
ekager's avatar
ekager committed
631
632
            android:defaultValue="false"
            app:argType="boolean" />
633
634
635
        <action
            android:id="@+id/action_shareFragment_to_addNewDeviceFragment"
            app:destination="@id/addNewDeviceFragment" />
636
        <argument
ekager's avatar
ekager committed
637
638
639
640
            android:name="sessionId"
            android:defaultValue="null"
            app:argType="string"
            app:nullable="true" />
641
    </dialog>
642
643
    <dialog
        android:id="@+id/quickSettingsSheetDialogFragment"
644
        android:name="org.mozilla.fenix.settings.quicksettings.QuickSettingsSheetDialogFragment">
645
646
647
        <argument
            android:name="sessionId"
            app:argType="string" />
648
649
650
        <argument
            android:name="title"
            app:argType="string" />
651
652
653
654
655
656
657
658
659
660
661
662
        <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
663
664
            android:defaultValue="80"
            app:argType="integer" />
Kate Glazko's avatar
Kate Glazko committed
665
666
667
668
        <argument
            android:name="certificateName"
            android:defaultValue=" "
            app:argType="string" />
669
    </dialog>
670
671
    <fragment
        android:id="@+id/accountProblemFragment"
672
        android:name="org.mozilla.fenix.settings.account.AccountProblemFragment">
673
674
675
        <action
            android:id="@+id/action_accountProblemFragment_to_signOutFragment"
            app:destination="@id/signOutFragment" />
676
    </fragment>
677
678
    <dialog
        android:id="@+id/signOutFragment"
679
        android:name="org.mozilla.fenix.settings.account.SignOutFragment" />
680
681
    <dialog
        android:id="@+id/trackingProtectionPanelDialogFragment"
ekager's avatar
ekager committed
682
        android:name="org.mozilla.fenix.trackingprotection.TrackingProtectionPanelDialogFragment">
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
        <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"
ekager's avatar
ekager committed
699
        android:name="org.mozilla.fenix.trackingprotection.TrackingProtectionBlockingFragment">
700
        <argument
mcarare's avatar
mcarare committed
701
702
            android:name="protectionMode"
            app:argType="string" />
703
    </fragment>
704
705
    <fragment
        android:id="@+id/deleteBrowsingDataOnQuitFragment"
ekager's avatar
ekager committed
706
        android:name="org.mozilla.fenix.settings.deletebrowsingdata.DeleteBrowsingDataOnQuitFragment" />
707
708
709

    <fragment
        android:id="@+id/addNewDeviceFragment"
ekager's avatar
ekager committed
710
        android:name="org.mozilla.fenix.share.AddNewDeviceFragment" />
711
    <fragment
712
        android:id="@+id/defaultBrowserSettingsFragment"
Jeff Boek's avatar
Jeff Boek committed
713
        android:name="org.mozilla.fenix.settings.DefaultBrowserSettingsFragment"/>
Jeff Boek's avatar
Jeff Boek committed
714
715
    <fragment
        android:id="@+id/addSearchEngineFragment"
ekager's avatar
ekager committed
716
        android:name="org.mozilla.fenix.settings.search.AddSearchEngineFragment" />
Jeff Boek's avatar
Jeff Boek committed
717
718
    <fragment
        android:id="@+id/editCustomSearchEngineFragment"
ekager's avatar
ekager committed
719
        android:name="org.mozilla.fenix.settings.search.EditCustomSearchEngineFragment">
Jeff Boek's avatar
Jeff Boek committed
720
721
722
723
        <argument
            android:name="searchEngineIdentifier"
            app:argType="string" />
    </fragment>
724
725
    <fragment
        android:id="@+id/localeSettingsFragment"
ekager's avatar
ekager committed
726
        android:name="org.mozilla.fenix.settings.advanced.LocaleSettingsFragment" />
727
728
    <fragment
        android:id="@+id/saveLoginSettingFragment"
729
        android:name="org.mozilla.fenix.settings.logins.SavedLoginsSettingFragment"
730
        android:label="SaveLoginSettingFragment" />
Gabriel Luong's avatar
Gabriel Luong committed
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
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
    <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"
            app:nullable="true"/>
    </fragment>
Tiger Oakes's avatar
Tiger Oakes committed
799
</navigation>