nav_graph.xml 39.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"
10
        app:destination="@id/homeFragment"
11
        app:popUpTo="@id/homeFragment"
Jeff Boek's avatar
Jeff Boek committed
12
        app:popUpToInclusive="true" />
Jeff Boek's avatar
Jeff Boek committed
13

14
15
    <action
        android:id="@+id/action_global_browser"
16
        app:destination="@id/browserFragment"
17
        app:popUpTo="@id/homeFragment"
Jeff Boek's avatar
Jeff Boek committed
18
        app:popUpToInclusive="false" />
19

Tiger Oakes's avatar
Tiger Oakes committed
20
21
22
    <action
        android:id="@+id/action_global_external_app_browser"
        app:destination="@id/externalAppBrowserFragment"
23
24
        app:popUpTo="@id/homeFragment"
        app:popUpToInclusive="false" />
Tiger Oakes's avatar
Tiger Oakes committed
25

Yeon Taek Jeong's avatar
Yeon Taek Jeong committed
26
27
    <action
        android:id="@+id/action_global_search"
28
        app:destination="@id/searchFragment" />
Yeon Taek Jeong's avatar
Yeon Taek Jeong committed
29

30
31
32
33
    <action
        android:id="@+id/action_global_search_dialog"
        app:destination="@id/searchDialogFragment" />

34
35
36
37
38
39
40
41
42
43
44
    <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"
Tiger Oakes's avatar
Tiger Oakes committed
45
        app:destination="@id/addons_management_graph" />
46
47
    <action
        android:id="@+id/action_global_searchEngineFragment"
Tiger Oakes's avatar
Tiger Oakes committed
48
        app:destination="@id/search_engine_graph" />
49
50
51
52
53
54
55
56
57
58
59
60
61
62
    <action
        android:id="@+id/action_global_accessibilityFragment"
        app:destination="@id/accessibilityFragment" />
    <action
        android:id="@+id/action_global_deleteBrowsingDataFragment"
        app:destination="@id/deleteBrowsingDataFragment" />
    <action
        android:id="@+id/action_global_webExtensionActionPopupFragment"
        app:destination="@id/webExtensionActionPopupFragment" />
    <action
        android:id="@+id/action_global_settingsFragment"
        app:destination="@id/settingsFragment" />
    <action
        android:id="@+id/action_global_syncedTabsFragment"
63
        app:destination="@id/syncedTabsFragment" />
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
    <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"
Tiger Oakes's avatar
Tiger Oakes committed
87
        app:destination="@id/addons_management_graph" />
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
    <action
        android:id="@+id/action_global_trackingProtectionFragment"
        app:destination="@id/trackingProtectionFragment" />
    <action
        android:id="@+id/action_global_trackingProtectionExceptionsFragment"
        app:destination="@id/trackingProtectionExceptionsFragment" />
    <action
        android:id="@+id/action_global_accountSettingsFragment"
        app:destination="@id/accountSettingsFragment" />
    <action
        android:id="@+id/action_global_trackingProtectionPanelDialogFragment"
        app:destination="@id/trackingProtectionPanelDialogFragment" />
    <action
        android:id="@+id/action_global_quickSettingsSheetDialogFragment"
        app:destination="@id/quickSettingsSheetDialogFragment" />
    <action
        android:id="@+id/action_global_tabTrayDialogFragment"
        app:destination="@id/tabTrayDialogFragment" />
106
107
108
    <action
        android:id="@+id/action_global_savedLoginsAuthFragment"
        app:destination="@id/savedLoginsAuthFragment" />
109
110
111
    <action
        android:id="@+id/action_global_tabHistoryDialogFragment"
        app:destination="@id/tabHistoryDialogFragment" />
112
113
114
115

    <dialog
        android:id="@+id/tabTrayDialogFragment"
        android:name="org.mozilla.fenix.tabtray.TabTrayDialogFragment"
116
117
118
119
120
121
        tools:layout="@layout/fragment_tab_tray_dialog">
        <argument
            android:name="enterMultiselect"
            android:defaultValue="false"
            app:argType="boolean" />
    </dialog>
Gabriel Luong's avatar
Gabriel Luong committed
122

123
124
125
126
127
128
    <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"
129
            app:destination="@id/browserFragment"
130
            app:exitAnim="@anim/zoom_in_fade"
131
            app:popEnterAnim="@anim/zoom_out_fade" />
132
133
134
135
136

        <argument
            android:name="focusOnAddressBar"
            android:defaultValue="false"
            app:argType="boolean" />
137
138
        <argument
            android:name="session_to_delete"
139
            android:defaultValue="@null"
140
            app:argType="string"
141
            app:nullable="true" />
142
    </fragment>
143

144
145
146
    <dialog
        android:id="@+id/searchDialogFragment"
        android:name="org.mozilla.fenix.searchdialog.SearchDialogFragment"
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
        tools:layout="@layout/fragment_search_dialog">
        <argument
            android:name="session_id"
            app:argType="string"
            app:nullable="true" />
        <argument
            android:name="pastedText"
            android:defaultValue="@null"
            app:argType="string"
            app:nullable="true" />
        <argument
            android:name="search_access_point"
            android:defaultValue="NONE"
            app:argType="org.mozilla.fenix.components.metrics.Event$PerformedSearch$SearchAccessPoint" />
    </dialog>
162

163
164
165
166
    <fragment
        android:id="@+id/searchFragment"
        android:name="org.mozilla.fenix.search.SearchFragment"
        tools:layout="@layout/fragment_search">
Emily Kager's avatar
Emily Kager committed
167
168
169
170
        <argument
            android:name="session_id"
            app:argType="string"
            app:nullable="true" />
171
172
        <argument
            android:name="pastedText"
173
            android:defaultValue="@null"
174
            app:argType="string"
175
            app:nullable="true" />
176
177
        <argument
            android:name="search_access_point"
178
179
            android:defaultValue="NONE"
            app:argType="org.mozilla.fenix.components.metrics.Event$PerformedSearch$SearchAccessPoint" />
180
    </fragment>
181

182
183
    <fragment
        android:id="@+id/SitePermissionsManagePhoneFeature"
184
        android:name="org.mozilla.fenix.settings.sitepermissions.SitePermissionsManagePhoneFeatureFragment"
185
186
        tools:layout="@layout/fragment_manage_site_permissions_feature_phone">
        <argument
187
188
            android:name="phoneFeature"
            app:argType="org.mozilla.fenix.settings.PhoneFeature" />
189
190
    </fragment>

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

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

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

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

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

351
352
    <fragment
        android:id="@+id/savedLoginsFragment"
353
        android:name="org.mozilla.fenix.settings.logins.fragment.SavedLoginsFragment"
354
355
356
357
358
359
360
361
362
363
364
        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>

365
366
367
368
    <fragment
        android:id="@+id/syncedTabsFragment"
        android:name="org.mozilla.fenix.sync.SyncedTabsFragment"
        android:label="@string/synced_tabs"
369
        tools:layout="@layout/fragment_synced_tabs" />
370
371
372

    <fragment
        android:id="@+id/loginExceptionsFragment"
373
        android:name="org.mozilla.fenix.exceptions.login.LoginExceptionsFragment"
374
        android:label="@string/preferences_passwords_exceptions"
375
        tools:layout="@layout/fragment_exceptions" />
376

377
378
    <fragment
        android:id="@+id/loginDetailFragment"
379
        android:name="org.mozilla.fenix.settings.logins.fragment.LoginDetailFragment"
380
381
382
383
        tools:layout="@layout/fragment_login_detail">
        <argument
            android:name="savedLoginId"
            app:argType="string"
384
            app:nullable="false" />
385
386
387
388
        <action
            android:id="@+id/action_loginDetailFragment_to_editLoginFragment"
            app:destination="@id/editLoginFragment"
            app:popUpTo="@id/editLoginFragment"
389
            app:popUpToInclusive="true" />
390
391
392
393
    </fragment>

    <fragment
        android:id="@+id/editLoginFragment"
394
        android:name="org.mozilla.fenix.settings.logins.fragment.EditLoginFragment"
395
396
397
398
        android:label="@string/edit">
        <argument
            android:name="savedLoginItem"
            app:argType="org.mozilla.fenix.settings.logins.SavedLogin"
399
            app:nullable="false" />
400
401
402
403
        <action
            android:id="@+id/action_editLoginFragment_to_loginDetailFragment"
            app:destination="@id/loginDetailFragment"
            app:popUpTo="@id/loginDetailFragment"
404
            app:popUpToInclusive="true" />
405
406
    </fragment>

407
408
409
    <fragment
        android:id="@+id/settingsFragment"
        android:name="org.mozilla.fenix.settings.SettingsFragment"
Emily Kager's avatar
Emily Kager committed
410
411
412
        android:label="@string/settings_title">
        <action
            android:id="@+id/action_settingsFragment_to_dataChoicesFragment"
413
            app:destination="@id/dataChoicesFragment"
414
415
416
417
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
            app:popExitAnim="@anim/slide_out_right"
418
            app:popUpTo="@id/settingsFragment" />
Emily Kager's avatar
Emily Kager committed
419
420
        <action
            android:id="@+id/action_settingsFragment_to_sitePermissionsFragment"
421
            app:destination="@id/sitePermissionsFragment"
422
423
424
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
425
            app:popExitAnim="@anim/slide_out_right" />
ekager's avatar
ekager committed
426
        <action
427
            android:id="@+id/action_settingsFragment_to_savedLoginsAuthFragment"
428
            app:destination="@id/savedLoginsAuthFragment"
429
430
431
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
432
            app:popExitAnim="@anim/slide_out_right" />
Emily Kager's avatar
Emily Kager committed
433
434
        <action
            android:id="@+id/action_settingsFragment_to_accessibilityFragment"
435
            app:destination="@id/accessibilityFragment"
436
437
438
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
439
            app:popExitAnim="@anim/slide_out_right" />
Emily Kager's avatar
Emily Kager committed
440
441
        <action
            android:id="@+id/action_settingsFragment_to_accountSettingsFragment"
442
            app:destination="@id/accountSettingsFragment"
443
444
445
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
446
            app:popExitAnim="@anim/slide_out_right" />
447
448
        <action
            android:id="@+id/action_settingsFragment_to_searchEngineFragment"
Tiger Oakes's avatar
Tiger Oakes committed
449
            app:destination="@id/search_engine_graph"
450
451
452
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
453
            app:popExitAnim="@anim/slide_out_right" />
454
        <action
455
            android:id="@+id/action_settingsFragment_to_turnOnSyncFragment"
456
            app:destination="@id/turnOnSyncFragment"
457
458
459
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
460
            app:popExitAnim="@anim/slide_out_right" />
461
462
        <action
            android:id="@+id/action_settingsFragment_to_aboutFragment"
463
            app:destination="@id/aboutFragment"
464
465
466
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
467
            app:popExitAnim="@anim/slide_out_right" />
468
469
        <action
            android:id="@+id/action_settingsFragment_to_secretSettingsFragment"
470
            app:destination="@id/secretSettingsPreference"
471
472
473
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
474
            app:popExitAnim="@anim/slide_out_right" />
Emily Kager's avatar
Emily Kager committed
475
        <action
476
            android:id="@+id/action_settingsFragment_to_customizationFragment"
477
            app:destination="@id/customizationFragment"
478
479
480
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
481
            app:popExitAnim="@anim/slide_out_right" />
482
483
        <action
            android:id="@+id/action_settingsFragment_to_privateBrowsingFragment"
484
            app:destination="@id/privateBrowsingFragment"
485
486
487
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
488
            app:popExitAnim="@anim/slide_out_right" />
489
490
        <action
            android:id="@+id/action_settingsFragment_to_trackingProtectionFragment"
491
            app:destination="@id/trackingProtectionFragment"
492
493
494
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
495
            app:popExitAnim="@anim/slide_out_right" />
496
497
        <action
            android:id="@+id/action_settingsFragment_to_deleteBrowsingDataFragment"
498
            app:destination="@id/deleteBrowsingDataFragment"
499
500
501
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
502
            app:popExitAnim="@anim/slide_out_right" />
503
504
        <action
            android:id="@+id/action_settingsFragment_to_accountProblemFragment"
505
            app:destination="@id/accountProblemFragment"
506
507
508
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
509
            app:popExitAnim="@anim/slide_out_right" />
510
511
        <action
            android:id="@+id/action_settingsFragment_to_deleteBrowsingDataOnQuitFragment"
512
            app:destination="@id/deleteBrowsingDataOnQuitFragment"
513
514
515
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
516
            app:popExitAnim="@anim/slide_out_right" />
517
518
        <action
            android:id="@+id/action_settingsFragment_to_localeSettingsFragment"
519
            app:destination="@id/localeSettingsFragment"
520
521
522
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
523
            app:popExitAnim="@anim/slide_out_right" />
Gabriel Luong's avatar
Gabriel Luong committed
524
525
        <action
            android:id="@+id/action_settingsFragment_to_addonsFragment"
Tiger Oakes's avatar
Tiger Oakes committed
526
            app:destination="@id/addons_management_graph"
527
528
529
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
530
            app:popExitAnim="@anim/slide_out_right" />
531
    </fragment>
532
    <fragment
Emily Kager's avatar
Emily Kager committed
533
534
        android:id="@+id/dataChoicesFragment"
        android:name="org.mozilla.fenix.settings.DataChoicesFragment"
535
        android:label="@string/preferences_data_choices" />
Emily Kager's avatar
Emily Kager committed
536
537
    <fragment
        android:id="@+id/sitePermissionsFragment"
538
        android:name="org.mozilla.fenix.settings.sitepermissions.SitePermissionsFragment"
Emily Kager's avatar
Emily Kager committed
539
        android:label="@string/preferences_site_permissions">
540
541
        <action
            android:id="@+id/action_site_permissions_to_manage_phone_features"
542
            app:destination="@id/SitePermissionsManagePhoneFeature"
543
544
545
546
            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
547
            app:popUpTo="@id/sitePermissionsFragment" />
548
549
        <action
            android:id="@+id/action_site_permissions_to_exceptions"
Tiger Oakes's avatar
Tiger Oakes committed
550
            app:destination="@id/site_permissions_exceptions_graph"
551
552
553
554
            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
555
            app:popUpTo="@id/sitePermissionsFragment" />
556
557
    </fragment>

Emily Kager's avatar
Emily Kager committed
558
559
560
    <fragment
        android:id="@+id/accessibilityFragment"
        android:name="org.mozilla.fenix.settings.AccessibilityFragment"
561
        android:label="@string/preferences_accessibility" />
Emily Kager's avatar
Emily Kager committed
562
563
    <fragment
        android:id="@+id/accountSettingsFragment"
564
        android:name="org.mozilla.fenix.settings.account.AccountSettingsFragment"
565
566
567
568
569
        android:label="@string/preferences_account_settings">
        <action
            android:id="@+id/action_accountSettingsFragment_to_signOutFragment"
            app:destination="@id/signOutFragment" />
    </fragment>
570

571
    <fragment
572
        android:id="@+id/turnOnSyncFragment"
573
        android:name="org.mozilla.fenix.settings.account.TurnOnSyncFragment"
574
        android:label="@string/preferences_sync">
575
576
        <argument
            android:name="padSnackbar"
ekager's avatar
ekager committed
577
578
            android:defaultValue="false"
            app:argType="boolean" />
579
        <action
580
581
            android:id="@+id/action_turnOnSyncFragment_to_pairFragment"
            app:destination="@id/pairFragment" />
582
583
584
585
586
    </fragment>

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

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

662
    <dialog
ekager's avatar
ekager committed
663
664
665
        android:id="@+id/createShortcutFragment"
        android:name="org.mozilla.fenix.shortcut.CreateShortcutFragment"
        tools:layout="@layout/fragment_create_shortcut" />
666
    <dialog
667
668
669
        android:id="@+id/pwaOnboardingDialogFragment"
        android:name="org.mozilla.fenix.shortcut.PwaOnboardingDialogFragment"
        tools:layout="@layout/fragment_pwa_onboarding" />
670

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

    <fragment
        android:id="@+id/addNewDeviceFragment"
ekager's avatar
ekager committed
760
        android:name="org.mozilla.fenix.share.AddNewDeviceFragment" />
761
762
    <fragment
        android:id="@+id/localeSettingsFragment"
ekager's avatar
ekager committed
763
        android:name="org.mozilla.fenix.settings.advanced.LocaleSettingsFragment" />
764
765
    <fragment
        android:id="@+id/saveLoginSettingFragment"
766
        android:name="org.mozilla.fenix.settings.logins.fragment.SavedLoginsSettingFragment"
767
        android:label="SaveLoginSettingFragment" />
Gabriel Luong's avatar
Gabriel Luong committed
768
769
770
771
772
773
774
775
776
    <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"
777
            app:nullable="true" />
Gabriel Luong's avatar
Gabriel Luong committed
778
    </fragment>
779
780
781
    <dialog
        android:id="@+id/tabHistoryDialogFragment"
        android:name="org.mozilla.fenix.tabhistory.TabHistoryDialogFragment" />
Tiger Oakes's avatar
Tiger Oakes committed
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914

    <navigation android:id="@+id/site_permissions_exceptions_graph"
        app:startDestination="@id/sitePermissionsExceptionsFragment">

        <fragment
            android:id="@+id/sitePermissionsExceptionsFragment"
            android:name="org.mozilla.fenix.settings.sitepermissions.SitePermissionsExceptionsFragment"
            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"
                app:popUpTo="@+id/sitePermissionsExceptionsFragment" />
        </fragment>

        <fragment
            android:id="@+id/sitePermissionsManageExceptionsPhoneFeatureFragment"
            android:name="org.mozilla.fenix.settings.sitepermissions.SitePermissionsManageExceptionsPhoneFeatureFragment"
            tools:layout="@layout/fragment_manage_site_permissions_feature_phone">
            <argument
                android:name="phoneFeature"
                app:argType="org.mozilla.fenix.settings.PhoneFeature" />
            <argument
                android:name="sitePermissions"
                app:argType="mozilla.components.feature.sitepermissions.SitePermissions" />
        </fragment>

        <fragment
            android:id="@+id/sitePermissionsDetailsExceptionsFragment"
            android:name="org.mozilla.fenix.settings.sitepermissions.SitePermissionsDetailsExceptionsFragment">
            <action
                android:id="@+id/action_site_permissions_to_exceptions_to_manage_phone_feature"
                app:destination="@id/sitePermissionsManageExceptionsPhoneFeatureFragment"
                app:popUpTo="@+id/sitePermissionsDetailsExceptionsFragment" />
            <argument
                android:name="sitePermissions"
                app:argType="mozilla.components.feature.sitepermissions.SitePermissions" />
        </fragment>
    </navigation>

    <navigation android:id="@+id/addons_management_graph"
        app:startDestination="@id/addonsManagementFragment">
        <fragment
            android:id="@+id/addonsManagementFragment"
            android:name="org.mozilla.fenix.addons.AddonsManagementFragment"
            tools:layout="@layout/fragment_add_ons_management">
            <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/installedAddonDetailsFragment"
            android:name="org.mozilla.fenix.addons.InstalledAddonDetailsFragment"
            tools:layout="@layout/fragment_installed_add_on_details">
            <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"
            tools:layout="@layout/fragment_not_yet_supported_addons">
            <argument
                android:name="addons"
                app:argType="mozilla.components.feature.addons.Addon[]" />
        </fragment>
        <fragment
            android:id="@+id/addonPermissionsDetailFragment"
            android:name="org.mozilla.fenix.addons.AddonPermissionsDetailsFragment"
            tools:layout="@layout/fragment_add_on_permissions">
            <argument
                android:name="addon"
                app:argType="mozilla.components.feature.addons.Addon" />
        </fragment>
        <fragment
            android:id="@+id/addonInternalSettingsFragment"
            android:name="org.mozilla.fenix.addons.AddonInternalSettingsFragment"
            tools:layout="@layout/fragment_add_on_internal_settings">
            <argument
                android:name="addon"
                app:argType="mozilla.components.feature.addons.Addon" />
        </fragment>
        <fragment
            android:id="@+id/addonDetailsFragment"
            android:name="org.mozilla.fenix.addons.AddonDetailsFragment"
            tools:layout="@layout/fragment_add_on_details">
            <argument
                android:name="addon"
                app:argType="mozilla.components.feature.addons.Addon" />
        </fragment>
    </navigation>

    <navigation android:id="@+id/search_engine_graph"
        app:startDestination="@id/searchEngineFragment">
        <fragment
            android:id="@+id/searchEngineFragment"
            android:name="org.mozilla.fenix.settings.search.SearchEngineFragment"
            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>
        <fragment
            android:id="@+id/addSearchEngineFragment"
            android:name="org.mozilla.fenix.settings.search.AddSearchEngineFragment"
            tools:layout="@layout/fragment_add_search_engine" />
        <fragment
            android:id="@+id/editCustomSearchEngineFragment"
            android:name="org.mozilla.fenix.settings.search.EditCustomSearchEngineFragment"
            tools:layout="@layout/fragment_add_search_engine">
            <argument
                android:name="searchEngineIdentifier"
                app:argType="string" />
        </fragment>
    </navigation>
Tiger Oakes's avatar
Tiger Oakes committed
915
</navigation>