nav_graph.xml 35.3 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
        tools:layout="@layout/fragment_manage_site_permissions_feature_phone">
        <argument
95
96
            android:name="phoneFeature"
            app:argType="org.mozilla.fenix.settings.PhoneFeature" />
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
        tools:layout="@layout/fragment_manage_site_permissions_feature_phone">
        <argument
128
129
            android:name="phoneFeature"
            app:argType="org.mozilla.fenix.settings.PhoneFeature" />
Emily Kager's avatar
Emily Kager committed
130
131
132
        <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
450
        <action
            android:id="@+id/action_settingsFragment_to_localeSettingsFragment"
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/localeSettingsFragment" />
Gabriel Luong's avatar
Gabriel Luong committed
456
457
        <action
            android:id="@+id/action_settingsFragment_to_addonsFragment"
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"
Gabriel Luong's avatar
Gabriel Luong committed
462
            app:destination="@id/addonsManagementFragment" />
463
    </fragment>
464
    <fragment
Emily Kager's avatar
Emily Kager committed
465
466
        android:id="@+id/dataChoicesFragment"
        android:name="org.mozilla.fenix.settings.DataChoicesFragment"
467
        android:label="@string/preferences_data_choices" />
Emily Kager's avatar
Emily Kager committed
468
469
    <fragment
        android:id="@+id/sitePermissionsFragment"
470
        android:name="org.mozilla.fenix.settings.sitepermissions.SitePermissionsFragment"
Emily Kager's avatar
Emily Kager committed
471
        android:label="@string/preferences_site_permissions">
472
473
        <action
            android:id="@+id/action_site_permissions_to_manage_phone_features"
474
475
476
477
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
            app:popExitAnim="@anim/slide_out_right"
478
            app:destination="@id/SitePermissionsManagePhoneFeature"
Emily Kager's avatar
Emily Kager committed
479
            app:popUpTo="@id/sitePermissionsFragment" />
480
481
        <action
            android:id="@+id/action_site_permissions_to_exceptions"
482
483
484
485
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
            app:popExitAnim="@anim/slide_out_right"
486
            app:destination="@id/sitePermissionsExceptionsFragment"
Emily Kager's avatar
Emily Kager committed
487
            app:popUpTo="@id/sitePermissionsFragment" />
488
489
    </fragment>

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

514
    <fragment
515
        android:id="@+id/turnOnSyncFragment"
516
        android:name="org.mozilla.fenix.settings.account.TurnOnSyncFragment"
517
        android:label="@string/preferences_sync">
518
519
        <argument
            android:name="padSnackbar"
ekager's avatar
ekager committed
520
521
            android:defaultValue="false"
            app:argType="boolean" />
522
        <action
523
524
            android:id="@+id/action_turnOnSyncFragment_to_pairFragment"
            app:destination="@id/pairFragment" />
525
526
527
528
529
    </fragment>

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

532
533
    <fragment
        android:id="@+id/aboutFragment"
Jeff Boek's avatar
Jeff Boek committed
534
        android:name="org.mozilla.fenix.settings.about.AboutFragment"/>
535
536
537
538
    <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
539
540
    <fragment
        android:id="@+id/crashReporterFragment"
ekager's avatar
ekager committed
541
        android:name="org.mozilla.fenix.crashes.CrashReporterFragment">
Emily Kager's avatar
Emily Kager committed
542
543
544
        <argument
            android:name="crashIntent"
            app:argType="android.content.Intent" />
545
    </fragment>
Emily Kager's avatar
Emily Kager committed
546
    <fragment
547
548
549
        android:id="@+id/customizationFragment"
        android:name="org.mozilla.fenix.settings.CustomizationFragment"
        android:label="@string/preferences_customize" />
550
551
552
553
    <fragment
        android:id="@+id/privateBrowsingFragment"
        android:name="org.mozilla.fenix.settings.PrivateBrowsingFragment"
        android:label="@string/preferences_private_browsing_options" />
554
555
    <fragment
        android:id="@+id/trackingProtectionFragment"
ekager's avatar
ekager committed
556
        android:name="org.mozilla.fenix.settings.TrackingProtectionFragment">
557
558
        <action
            android:id="@+id/action_trackingProtectionFragment_to_exceptionsFragment"
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/exceptionsFragment" />
564
565
        <action
            android:id="@+id/action_trackingProtectionFragment_to_trackingProtectionBlockingFragment"
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/trackingProtectionBlockingFragment" />
571
    </fragment>
572
573
    <fragment
        android:id="@+id/deleteBrowsingDataFragment"
574
        android:name="org.mozilla.fenix.settings.deletebrowsingdata.DeleteBrowsingDataFragment"
Jeff Boek's avatar
Jeff Boek committed
575
        android:label="@string/preferences_delete_browsing_data" />
576
577
578
    <fragment
        android:id="@+id/exceptionsFragment"
        android:name="org.mozilla.fenix.exceptions.ExceptionsFragment"
Jeff Boek's avatar
Jeff Boek committed
579
        android:label="@string/preference_exceptions"/>
580
    <dialog
581
582
        android:id="@+id/collectionCreationFragment"
        android:name="org.mozilla.fenix.collections.CollectionCreationFragment"
ekager's avatar
ekager committed
583
        tools:layout="@layout/fragment_create_collection">
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
        <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>
604

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

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

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