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
70
71
72
73

        <argument
            android:name="focusOnAddressBar"
            android:defaultValue="false"
            app:argType="boolean" />
74
75
76
77
78
        <argument
            android:name="session_to_delete"
            app:argType="string"
            app:nullable="true"
            android:defaultValue="@null" />
79
    </fragment>
80

81
82
83
84
    <fragment
        android:id="@+id/searchFragment"
        android:name="org.mozilla.fenix.search.SearchFragment"
        tools:layout="@layout/fragment_search">
Emily Kager's avatar
Emily Kager committed
85
86
87
88
        <argument
            android:name="session_id"
            app:argType="string"
            app:nullable="true" />
89
90
        <argument
            android:name="pastedText"
91
            android:defaultValue="@null"
92
            app:argType="string"
93
            app:nullable="true" />
94
95
96
97
        <argument
            android:name="search_access_point"
            app:argType="org.mozilla.fenix.components.metrics.Event$PerformedSearch$SearchAccessPoint"
            android:defaultValue="NONE" />
98
    </fragment>
99

100
101
    <fragment
        android:id="@+id/SitePermissionsManagePhoneFeature"
102
        android:name="org.mozilla.fenix.settings.sitepermissions.SitePermissionsManagePhoneFeatureFragment"
103
104
        tools:layout="@layout/fragment_manage_site_permissions_feature_phone">
        <argument
105
106
            android:name="phoneFeature"
            app:argType="org.mozilla.fenix.settings.PhoneFeature" />
107
108
    </fragment>

109
110
    <fragment
        android:id="@+id/sitePermissionsExceptionsFragment"
111
        android:name="org.mozilla.fenix.settings.sitepermissions.SitePermissionsExceptionsFragment"
112
113
114
115
116
        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
117
            app:popUpTo="@+id/sitePermissionsExceptionsFragment" />
118
119
120
121
    </fragment>

    <fragment
        android:id="@+id/sitePermissionsDetailsExceptionsFragment"
122
        android:name="org.mozilla.fenix.settings.sitepermissions.SitePermissionsDetailsExceptionsFragment"
123
124
125
126
        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
127
128
129
130
            app:popUpTo="@+id/sitePermissionsDetailsExceptionsFragment" />
        <argument
            android:name="sitePermissions"
            app:argType="mozilla.components.feature.sitepermissions.SitePermissions" />
131
132
133
134
    </fragment>

    <fragment
        android:id="@+id/sitePermissionsManageExceptionsPhoneFeatureFragment"
135
        android:name="org.mozilla.fenix.settings.sitepermissions.SitePermissionsManageExceptionsPhoneFeatureFragment"
136
137
        tools:layout="@layout/fragment_manage_site_permissions_feature_phone">
        <argument
138
139
            android:name="phoneFeature"
            app:argType="org.mozilla.fenix.settings.PhoneFeature" />
Emily Kager's avatar
Emily Kager committed
140
141
142
        <argument
            android:name="sitePermissions"
            app:argType="mozilla.components.feature.sitepermissions.SitePermissions" />
143
144
    </fragment>

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

Tiger Oakes's avatar
Tiger Oakes committed
186
    <fragment
187
188
189
        android:id="@+id/externalAppBrowserFragment"
        android:name="org.mozilla.fenix.customtabs.ExternalAppBrowserFragment"
        tools:layout="@layout/fragment_browser">
ekager's avatar
ekager committed
190
191
192
193
194
195
196
197
        <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
198
199
    </fragment>

200
201
202
203
    <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
204
        tools:layout="@layout/fragment_history" />
205

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

ekager's avatar
ekager committed
271
    <fragment
272
273
        android:id="@+id/savedLoginsAuthFragment"
        android:name="org.mozilla.fenix.settings.logins.SavedLoginsAuthFragment"
ekager's avatar
ekager committed
274
275
        android:label="@string/preferences_passwords_logins_and_passwords">
        <action
276
            android:id="@+id/action_savedLoginsAuthFragment_to_loginsListFragment"
277
278
279
280
            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
281
282
            app:destination="@id/savedLoginsFragment" />
        <action
283
            android:id="@+id/action_savedLoginsAuthFragment_to_turnOnSyncFragment"
284
285
286
287
            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
288
            app:destination="@id/turnOnSyncFragment" />
289
        <action
290
            android:id="@+id/action_savedLoginsAuthFragment_to_savedLoginsSettingFragment"
291
292
293
294
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
            app:popExitAnim="@anim/slide_out_right"
295
            app:destination="@id/saveLoginSettingFragment" />
ekager's avatar
ekager committed
296
297
    </fragment>

298
299
300
301
302
303
304
305
306
307
308
309
310
311
    <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>

312
313
314
315
316
317
318
    <fragment
        android:id="@+id/syncedTabsFragment"
        android:name="org.mozilla.fenix.sync.SyncedTabsFragment"
        android:label="@string/synced_tabs"
        tools:layout="@layout/fragment_synced_tabs">
    </fragment>

319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
    <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>

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

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

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

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

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

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

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

    <fragment
        android:id="@+id/addNewDeviceFragment"
ekager's avatar
ekager committed
714
        android:name="org.mozilla.fenix.share.AddNewDeviceFragment" />
Jeff Boek's avatar
Jeff Boek committed
715
716
    <fragment
        android:id="@+id/addSearchEngineFragment"
ekager's avatar
ekager committed
717
        android:name="org.mozilla.fenix.settings.search.AddSearchEngineFragment" />
Jeff Boek's avatar
Jeff Boek committed
718
719
    <fragment
        android:id="@+id/editCustomSearchEngineFragment"
ekager's avatar
ekager committed
720
        android:name="org.mozilla.fenix.settings.search.EditCustomSearchEngineFragment">
Jeff Boek's avatar
Jeff Boek committed
721
722
723
724
        <argument
            android:name="searchEngineIdentifier"
            app:argType="string" />
    </fragment>
725
726
    <fragment
        android:id="@+id/localeSettingsFragment"
ekager's avatar
ekager committed
727
        android:name="org.mozilla.fenix.settings.advanced.LocaleSettingsFragment" />
728
729
    <fragment
        android:id="@+id/saveLoginSettingFragment"
730
        android:name="org.mozilla.fenix.settings.logins.SavedLoginsSettingFragment"
731
        android:label="SaveLoginSettingFragment" />
Gabriel Luong's avatar
Gabriel Luong committed
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
799
    <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
800
</navigation>