nav_graph.xml 35.1 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
39
40
41
42
43
44
45
46
47
48
49
50
51
    <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_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"/>
Gabriel Luong's avatar
Gabriel Luong committed
52

53
54
55
56
57
58
    <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"
59
            app:destination="@id/browserFragment"
60
            app:exitAnim="@anim/zoom_in_fade"
61
            app:popEnterAnim="@anim/zoom_out_fade" />
62
63
        <action
            android:id="@+id/action_homeFragment_to_createCollectionFragment"
64
            app:destination="@id/collectionCreationFragment" />
65
    </fragment>
66

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

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

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

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

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

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

Tiger Oakes's avatar
Tiger Oakes committed
169
    <fragment
170
171
172
        android:id="@+id/externalAppBrowserFragment"
        android:name="org.mozilla.fenix.customtabs.ExternalAppBrowserFragment"
        tools:layout="@layout/fragment_browser">
ekager's avatar
ekager committed
173
174
175
176
177
178
179
180
        <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
181
182
    </fragment>

183
184
185
186
    <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
187
        tools:layout="@layout/fragment_history" />
188

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

ekager's avatar
ekager committed
254
    <fragment
255
256
        android:id="@+id/savedLoginsAuthFragment"
        android:name="org.mozilla.fenix.settings.logins.SavedLoginsAuthFragment"
ekager's avatar
ekager committed
257
258
        android:label="@string/preferences_passwords_logins_and_passwords">
        <action
259
            android:id="@+id/action_savedLoginsAuthFragment_to_loginsListFragment"
260
261
262
263
            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
264
265
            app:destination="@id/savedLoginsFragment" />
        <action
266
            android:id="@+id/action_savedLoginsAuthFragment_to_turnOnSyncFragment"
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
            app:destination="@id/turnOnSyncFragment" />
272
        <action
273
            android:id="@+id/action_savedLoginsAuthFragment_to_savedLoginsSettingFragment"
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"
278
            app:destination="@id/saveLoginSettingFragment" />
ekager's avatar
ekager committed
279
280
    </fragment>

281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
    <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>

    <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>

325
326
327
    <fragment
        android:id="@+id/settingsFragment"
        android:name="org.mozilla.fenix.settings.SettingsFragment"
Emily Kager's avatar
Emily Kager committed
328
329
330
        android:label="@string/settings_title">
        <action
            android:id="@+id/action_settingsFragment_to_dataChoicesFragment"
331
332
333
334
            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
335
336
337
338
            app:destination="@id/dataChoicesFragment"
            app:popUpTo="@+id/settingsFragment" />
        <action
            android:id="@+id/action_settingsFragment_to_sitePermissionsFragment"
339
340
341
342
            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
343
            app:destination="@id/sitePermissionsFragment" />
ekager's avatar
ekager committed
344
        <action
345
            android:id="@+id/action_settingsFragment_to_savedLoginsAuthFragment"
346
347
348
349
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
            app:popExitAnim="@anim/slide_out_right"
350
            app:destination="@id/savedLoginsAuthFragment" />
Emily Kager's avatar
Emily Kager committed
351
352
        <action
            android:id="@+id/action_settingsFragment_to_accessibilityFragment"
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
358
359
            app:destination="@id/accessibilityFragment" />
        <action
            android:id="@+id/action_settingsFragment_to_accountSettingsFragment"
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"
Emily Kager's avatar
Emily Kager committed
364
            app:destination="@id/accountSettingsFragment" />
365
366
        <action
            android:id="@+id/action_settingsFragment_to_searchEngineFragment"
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"
371
            app:destination="@id/searchEngineFragment" />
372
        <action
373
            android:id="@+id/action_settingsFragment_to_turnOnSyncFragment"
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"
378
            app:destination="@id/turnOnSyncFragment" />
379
380
        <action
            android:id="@+id/action_settingsFragment_to_aboutFragment"
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/aboutFragment" />
386
387
388
389
390
391
392
        <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
393
        <action
394
            android:id="@+id/action_settingsFragment_to_customizationFragment"
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/customizationFragment" />
400
401
        <action
            android:id="@+id/action_settingsFragment_to_privateBrowsingFragment"
402
403
404
405
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
            app:popExitAnim="@anim/slide_out_right"
406
            app:destination="@id/privateBrowsingFragment" />
407
408
        <action
            android:id="@+id/action_settingsFragment_to_trackingProtectionFragment"
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/trackingProtectionFragment" />
414
415
        <action
            android:id="@+id/action_settingsFragment_to_deleteBrowsingDataFragment"
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/deleteBrowsingDataFragment" />
421
422
        <action
            android:id="@+id/action_settingsFragment_to_accountProblemFragment"
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/accountProblemFragment" />
428
429
        <action
            android:id="@+id/action_settingsFragment_to_deleteBrowsingDataOnQuitFragment"
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/deleteBrowsingDataOnQuitFragment" />
435
        <action
436
            android:id="@+id/action_settingsFragment_to_defaultBrowserSettingsFragment"
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/defaultBrowserSettingsFragment" />
442
443
        <action
            android:id="@+id/action_settingsFragment_to_localeSettingsFragment"
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/localeSettingsFragment" />
Gabriel Luong's avatar
Gabriel Luong committed
449
450
        <action
            android:id="@+id/action_settingsFragment_to_addonsFragment"
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"
Gabriel Luong's avatar
Gabriel Luong committed
455
            app:destination="@id/addonsManagementFragment" />
456
    </fragment>
457
    <fragment
Emily Kager's avatar
Emily Kager committed
458
459
        android:id="@+id/dataChoicesFragment"
        android:name="org.mozilla.fenix.settings.DataChoicesFragment"
460
        android:label="@string/preferences_data_choices" />
Emily Kager's avatar
Emily Kager committed
461
462
    <fragment
        android:id="@+id/sitePermissionsFragment"
463
        android:name="org.mozilla.fenix.settings.sitepermissions.SitePermissionsFragment"
Emily Kager's avatar
Emily Kager committed
464
        android:label="@string/preferences_site_permissions">
465
466
        <action
            android:id="@+id/action_site_permissions_to_manage_phone_features"
467
468
469
470
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
            app:popExitAnim="@anim/slide_out_right"
471
            app:destination="@id/SitePermissionsManagePhoneFeature"
Emily Kager's avatar
Emily Kager committed
472
            app:popUpTo="@id/sitePermissionsFragment" />
473
474
        <action
            android:id="@+id/action_site_permissions_to_exceptions"
475
476
477
478
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
            app:popExitAnim="@anim/slide_out_right"
479
            app:destination="@id/sitePermissionsExceptionsFragment"
Emily Kager's avatar
Emily Kager committed
480
            app:popUpTo="@id/sitePermissionsFragment" />
481
482
    </fragment>

Emily Kager's avatar
Emily Kager committed
483
484
485
    <fragment
        android:id="@+id/accessibilityFragment"
        android:name="org.mozilla.fenix.settings.AccessibilityFragment"
486
        android:label="@string/preferences_accessibility" />
Emily Kager's avatar
Emily Kager committed
487
488
    <fragment
        android:id="@+id/accountSettingsFragment"
489
        android:name="org.mozilla.fenix.settings.account.AccountSettingsFragment"
490
491
492
493
494
        android:label="@string/preferences_account_settings">
        <action
            android:id="@+id/action_accountSettingsFragment_to_signOutFragment"
            app:destination="@id/signOutFragment" />
    </fragment>
495
496
    <fragment
        android:id="@+id/searchEngineFragment"
497
        android:name="org.mozilla.fenix.settings.search.SearchEngineFragment"
Jeff Boek's avatar
Jeff Boek committed
498
499
500
501
502
503
504
505
        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>
506

507
    <fragment
508
        android:id="@+id/turnOnSyncFragment"
509
        android:name="org.mozilla.fenix.settings.account.TurnOnSyncFragment"
510
        android:label="@string/preferences_sync">
511
512
        <argument
            android:name="padSnackbar"
ekager's avatar
ekager committed
513
514
            android:defaultValue="false"
            app:argType="boolean" />
515
        <action
516
517
            android:id="@+id/action_turnOnSyncFragment_to_pairFragment"
            app:destination="@id/pairFragment" />
518
519
520
521
522
    </fragment>

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

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

602
    <dialog
ekager's avatar
ekager committed
603
604
605
        android:id="@+id/createShortcutFragment"
        android:name="org.mozilla.fenix.shortcut.CreateShortcutFragment"
        tools:layout="@layout/fragment_create_shortcut" />
606
607
608
609
610
611
    <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" />

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

    <fragment
        android:id="@+id/addNewDeviceFragment"
ekager's avatar
ekager committed
700
        android:name="org.mozilla.fenix.share.AddNewDeviceFragment" />
701
    <fragment
702
        android:id="@+id/defaultBrowserSettingsFragment"
Jeff Boek's avatar
Jeff Boek committed
703
        android:name="org.mozilla.fenix.settings.DefaultBrowserSettingsFragment"/>
Jeff Boek's avatar
Jeff Boek committed
704
705
    <fragment
        android:id="@+id/addSearchEngineFragment"
ekager's avatar
ekager committed
706
        android:name="org.mozilla.fenix.settings.search.AddSearchEngineFragment" />
Jeff Boek's avatar
Jeff Boek committed
707
708
    <fragment
        android:id="@+id/editCustomSearchEngineFragment"
ekager's avatar
ekager committed
709
        android:name="org.mozilla.fenix.settings.search.EditCustomSearchEngineFragment">
Jeff Boek's avatar
Jeff Boek committed
710
711
712
713
        <argument
            android:name="searchEngineIdentifier"
            app:argType="string" />
    </fragment>
714
715
    <fragment
        android:id="@+id/localeSettingsFragment"
ekager's avatar
ekager committed
716
        android:name="org.mozilla.fenix.settings.advanced.LocaleSettingsFragment" />
717
718
    <fragment
        android:id="@+id/saveLoginSettingFragment"
719
        android:name="org.mozilla.fenix.settings.logins.SavedLoginsSettingFragment"
720
        android:label="SaveLoginSettingFragment" />
Gabriel Luong's avatar
Gabriel Luong committed
721
722
723
724
725
726
727
728
729
730
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
    <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
789
</navigation>