nav_graph.xml 38.5 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
34
35
36
37
38
39
40
    <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
41
        app:destination="@id/addons_management_graph" />
42
43
    <action
        android:id="@+id/action_global_searchEngineFragment"
Tiger Oakes's avatar
Tiger Oakes committed
44
        app:destination="@id/search_engine_graph" />
45
46
47
48
49
50
51
52
53
54
55
56
57
58
    <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"
59
        app:destination="@id/syncedTabsFragment" />
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
    <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
83
        app:destination="@id/addons_management_graph" />
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
    <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" />
102
103
104
    <action
        android:id="@+id/action_global_savedLoginsAuthFragment"
        app:destination="@id/savedLoginsAuthFragment" />
105
106
107
    <action
        android:id="@+id/action_global_tabHistoryDialogFragment"
        app:destination="@id/tabHistoryDialogFragment" />
108
109
110
111

    <dialog
        android:id="@+id/tabTrayDialogFragment"
        android:name="org.mozilla.fenix.tabtray.TabTrayDialogFragment"
112
113
114
115
116
117
        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
118

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

        <argument
            android:name="focusOnAddressBar"
            android:defaultValue="false"
            app:argType="boolean" />
133
134
        <argument
            android:name="session_to_delete"
135
            android:defaultValue="@null"
136
            app:argType="string"
137
            app:nullable="true" />
138
    </fragment>
139

140
141
142
143
    <fragment
        android:id="@+id/searchFragment"
        android:name="org.mozilla.fenix.search.SearchFragment"
        tools:layout="@layout/fragment_search">
Emily Kager's avatar
Emily Kager committed
144
145
146
147
        <argument
            android:name="session_id"
            app:argType="string"
            app:nullable="true" />
148
149
        <argument
            android:name="pastedText"
150
            android:defaultValue="@null"
151
            app:argType="string"
152
            app:nullable="true" />
153
154
        <argument
            android:name="search_access_point"
155
156
            android:defaultValue="NONE"
            app:argType="org.mozilla.fenix.components.metrics.Event$PerformedSearch$SearchAccessPoint" />
157
    </fragment>
158

159
160
    <fragment
        android:id="@+id/SitePermissionsManagePhoneFeature"
161
        android:name="org.mozilla.fenix.settings.sitepermissions.SitePermissionsManagePhoneFeatureFragment"
162
163
        tools:layout="@layout/fragment_manage_site_permissions_feature_phone">
        <argument
164
165
            android:name="phoneFeature"
            app:argType="org.mozilla.fenix.settings.PhoneFeature" />
166
167
    </fragment>

168
169
170
    <fragment
        android:id="@+id/browserFragment"
        android:name="org.mozilla.fenix.browser.BrowserFragment"
171
        app:exitAnim="@anim/fade_out"
172
        tools:layout="@layout/fragment_browser">
173
174
        <action
            android:id="@+id/action_browserFragment_to_searchFragment"
175
            app:destination="@id/searchFragment"
176
            app:enterAnim="@anim/fade_in_up"
177
            app:popExitAnim="@anim/fade_out_down" />
178
        <argument
179
            android:name="activeSessionId"
180
181
            app:argType="string"
            app:nullable="true" />
182
183
        <argument
            android:name="shouldAnimate"
184
185
            android:defaultValue="false"
            app:argType="boolean" />
186
187
188
        <action
            android:id="@+id/action_browserFragment_to_syncedTabsFragment"
            app:destination="@id/syncedTabsFragment" />
189
190
191
        <action
            android:id="@+id/action_browserFragment_to_settingsFragment"
            app:destination="@id/settingsFragment" />
192
        <action
ekager's avatar
ekager committed
193
194
            android:id="@+id/action_browserFragment_to_createShortcutFragment"
            app:destination="@id/createShortcutFragment" />
195
        <action
196
197
            android:id="@+id/action_browserFragment_to_pwaOnboardingDialogFragment"
            app:destination="@id/pwaOnboardingDialogFragment" />
198
199
200
        <action
            android:id="@+id/action_browserFragment_to_quickSettingsSheetDialogFragment"
            app:destination="@id/quickSettingsSheetDialogFragment" />
201
202
203
        <action
            android:id="@+id/action_browserFragment_to_trackingProtectionPanelDialogFragment"
            app:destination="@id/trackingProtectionPanelDialogFragment" />
204
205
206
        <action
            android:id="@+id/action_browserFragment_to_tabsTrayFragment"
            app:destination="@+id/tabTrayFragment" />
207
    </fragment>
208

Tiger Oakes's avatar
Tiger Oakes committed
209
    <fragment
210
211
212
        android:id="@+id/externalAppBrowserFragment"
        android:name="org.mozilla.fenix.customtabs.ExternalAppBrowserFragment"
        tools:layout="@layout/fragment_browser">
ekager's avatar
ekager committed
213
214
215
216
217
218
219
220
        <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
221
222
    </fragment>

223
224
225
226
    <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
227
        tools:layout="@layout/fragment_history" />
228

229
230
231
232
233
234
235
236
237
238
    <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" />
239
240
241
        <action
            android:id="@+id/action_bookmarkFragment_to_bookmarkEditFragment"
            app:destination="@id/bookmarkEditFragment" />
242
243
244
        <action
            android:id="@+id/action_bookmarkFragment_to_bookmarkAddFolderFragment"
            app:destination="@id/bookmarkAddFolderFragment" />
245
246
247
248
249
250
251
252
253
    </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
254
            app:nullable="false" />
255
256
257
        <action
            android:id="@+id/action_bookmarkEditFragment_to_bookmarkSelectFolderFragment"
            app:destination="@id/bookmarkSelectFolderFragment" />
Mihai Eduard Badea's avatar
Mihai Eduard Badea committed
258
259
        <argument
            android:name="requiresSnackbarPaddingForToolbar"
260
261
            android:defaultValue="false"
            app:argType="boolean" />
262
263
264
265
266
267
268
269
270
271
    </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
272
            app:nullable="true" />
273
274
275
276
277
278
279
280
        <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
281
282
            android:defaultValue="false"
            app:argType="boolean" />
283
284
285
286
287
288
289
290
291
    </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" />
292
    </fragment>
293

ekager's avatar
ekager committed
294
    <fragment
295
        android:id="@+id/savedLoginsAuthFragment"
296
        android:name="org.mozilla.fenix.settings.logins.fragment.SavedLoginsAuthFragment"
ekager's avatar
ekager committed
297
298
        android:label="@string/preferences_passwords_logins_and_passwords">
        <action
299
            android:id="@+id/action_savedLoginsAuthFragment_to_loginsListFragment"
300
            app:destination="@id/savedLoginsFragment"
301
302
303
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
304
            app:popExitAnim="@anim/slide_out_right" />
ekager's avatar
ekager committed
305
        <action
306
            android:id="@+id/action_savedLoginsAuthFragment_to_turnOnSyncFragment"
307
            app:destination="@id/turnOnSyncFragment"
308
309
310
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
311
            app:popExitAnim="@anim/slide_out_right" />
312
        <action
313
            android:id="@+id/action_savedLoginsAuthFragment_to_savedLoginsSettingFragment"
314
            app:destination="@id/saveLoginSettingFragment"
315
316
317
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
318
319
320
321
322
323
324
325
            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
326
327
    </fragment>

328
329
    <fragment
        android:id="@+id/savedLoginsFragment"
330
        android:name="org.mozilla.fenix.settings.logins.fragment.SavedLoginsFragment"
331
332
333
334
335
336
337
338
339
340
341
        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>

342
343
344
345
    <fragment
        android:id="@+id/syncedTabsFragment"
        android:name="org.mozilla.fenix.sync.SyncedTabsFragment"
        android:label="@string/synced_tabs"
346
        tools:layout="@layout/fragment_synced_tabs" />
347
348
349

    <fragment
        android:id="@+id/loginExceptionsFragment"
350
        android:name="org.mozilla.fenix.exceptions.login.LoginExceptionsFragment"
351
        android:label="@string/preferences_passwords_exceptions"
352
        tools:layout="@layout/fragment_exceptions" />
353

354
355
    <fragment
        android:id="@+id/loginDetailFragment"
356
        android:name="org.mozilla.fenix.settings.logins.fragment.LoginDetailFragment"
357
358
359
360
        tools:layout="@layout/fragment_login_detail">
        <argument
            android:name="savedLoginId"
            app:argType="string"
361
            app:nullable="false" />
362
363
364
365
        <action
            android:id="@+id/action_loginDetailFragment_to_editLoginFragment"
            app:destination="@id/editLoginFragment"
            app:popUpTo="@id/editLoginFragment"
366
            app:popUpToInclusive="true" />
367
368
369
370
    </fragment>

    <fragment
        android:id="@+id/editLoginFragment"
371
        android:name="org.mozilla.fenix.settings.logins.fragment.EditLoginFragment"
372
373
374
375
        android:label="@string/edit">
        <argument
            android:name="savedLoginItem"
            app:argType="org.mozilla.fenix.settings.logins.SavedLogin"
376
            app:nullable="false" />
377
378
379
380
        <action
            android:id="@+id/action_editLoginFragment_to_loginDetailFragment"
            app:destination="@id/loginDetailFragment"
            app:popUpTo="@id/loginDetailFragment"
381
            app:popUpToInclusive="true" />
382
383
    </fragment>

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

Emily Kager's avatar
Emily Kager committed
535
536
537
    <fragment
        android:id="@+id/accessibilityFragment"
        android:name="org.mozilla.fenix.settings.AccessibilityFragment"
538
        android:label="@string/preferences_accessibility" />
Emily Kager's avatar
Emily Kager committed
539
540
    <fragment
        android:id="@+id/accountSettingsFragment"
541
        android:name="org.mozilla.fenix.settings.account.AccountSettingsFragment"
542
543
544
545
546
        android:label="@string/preferences_account_settings">
        <action
            android:id="@+id/action_accountSettingsFragment_to_signOutFragment"
            app:destination="@id/signOutFragment" />
    </fragment>
547

548
    <fragment
549
        android:id="@+id/turnOnSyncFragment"
550
        android:name="org.mozilla.fenix.settings.account.TurnOnSyncFragment"
551
        android:label="@string/preferences_sync">
552
553
        <argument
            android:name="padSnackbar"
ekager's avatar
ekager committed
554
555
            android:defaultValue="false"
            app:argType="boolean" />
556
        <action
557
558
            android:id="@+id/action_turnOnSyncFragment_to_pairFragment"
            app:destination="@id/pairFragment" />
559
560
561
562
563
    </fragment>

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

566
567
    <fragment
        android:id="@+id/aboutFragment"
568
        android:name="org.mozilla.fenix.settings.about.AboutFragment" />
569
570
    <fragment
        android:id="@+id/secretSettingsPreference"
571
        android:name="org.mozilla.fenix.settings.SecretSettingsFragment"
572
        android:label="@string/preferences_debug_settings" />
Emily Kager's avatar
Emily Kager committed
573
574
    <fragment
        android:id="@+id/crashReporterFragment"
ekager's avatar
ekager committed
575
        android:name="org.mozilla.fenix.crashes.CrashReporterFragment">
Emily Kager's avatar
Emily Kager committed
576
577
578
        <argument
            android:name="crashIntent"
            app:argType="android.content.Intent" />
579
    </fragment>
Emily Kager's avatar
Emily Kager committed
580
    <fragment
581
582
583
        android:id="@+id/customizationFragment"
        android:name="org.mozilla.fenix.settings.CustomizationFragment"
        android:label="@string/preferences_customize" />
584
585
586
587
    <fragment
        android:id="@+id/privateBrowsingFragment"
        android:name="org.mozilla.fenix.settings.PrivateBrowsingFragment"
        android:label="@string/preferences_private_browsing_options" />
588
589
    <fragment
        android:id="@+id/trackingProtectionFragment"
ekager's avatar
ekager committed
590
        android:name="org.mozilla.fenix.settings.TrackingProtectionFragment">
591
592
        <action
            android:id="@+id/action_trackingProtectionFragment_to_exceptionsFragment"
593
            app:destination="@id/trackingProtectionExceptionsFragment"
594
595
596
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
597
            app:popExitAnim="@anim/slide_out_right" />
598
599
        <action
            android:id="@+id/action_trackingProtectionFragment_to_trackingProtectionBlockingFragment"
600
            app:destination="@id/trackingProtectionBlockingFragment"
601
602
603
            app:enterAnim="@anim/slide_in_right"
            app:exitAnim="@anim/slide_out_left"
            app:popEnterAnim="@anim/slide_in_left"
604
            app:popExitAnim="@anim/slide_out_right" />
605
    </fragment>
606
607
    <fragment
        android:id="@+id/deleteBrowsingDataFragment"
608
        android:name="org.mozilla.fenix.settings.deletebrowsingdata.DeleteBrowsingDataFragment"
Jeff Boek's avatar
Jeff Boek committed
609
        android:label="@string/preferences_delete_browsing_data" />
610
    <fragment
611
        android:id="@+id/trackingProtectionExceptionsFragment"
612
        android:name="org.mozilla.fenix.exceptions.trackingprotection.TrackingProtectionExceptionsFragment"
613
        android:label="@string/preference_exceptions" />
614
    <dialog
615
616
        android:id="@+id/collectionCreationFragment"
        android:name="org.mozilla.fenix.collections.CollectionCreationFragment"
ekager's avatar
ekager committed
617
        tools:layout="@layout/fragment_create_collection">
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
        <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>
638

639
    <dialog
ekager's avatar
ekager committed
640
641
642
        android:id="@+id/createShortcutFragment"
        android:name="org.mozilla.fenix.shortcut.CreateShortcutFragment"
        tools:layout="@layout/fragment_create_shortcut" />
643
    <dialog
644
645
646
        android:id="@+id/pwaOnboardingDialogFragment"
        android:name="org.mozilla.fenix.shortcut.PwaOnboardingDialogFragment"
        tools:layout="@layout/fragment_pwa_onboarding" />
647

648
649
650
    <dialog
        android:id="@+id/shareFragment"
        android:name="org.mozilla.fenix.share.ShareFragment"
651
        tools:layout="@layout/fragment_share">
652
        <argument
653
654
            android:name="data"
            app:argType="mozilla.components.concept.engine.prompt.ShareData[]" />
655
        <argument
656
            android:name="showPage"
ekager's avatar
ekager committed
657
658
            android:defaultValue="false"
            app:argType="boolean" />
659
660
661
        <action
            android:id="@+id/action_shareFragment_to_addNewDeviceFragment"
            app:destination="@id/addNewDeviceFragment" />
662
        <argument
ekager's avatar
ekager committed
663
664
665
666
            android:name="sessionId"
            android:defaultValue="null"
            app:argType="string"
            app:nullable="true" />
667
    </dialog>
668
669
    <dialog
        android:id="@+id/quickSettingsSheetDialogFragment"
670
        android:name="org.mozilla.fenix.settings.quicksettings.QuickSettingsSheetDialogFragment">
671
672
673
        <argument
            android:name="sessionId"
            app:argType="string" />
674
675
676
        <argument
            android:name="title"
            app:argType="string" />
677
678
679
680
681
682
683
684
685
686
687
688
        <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
689
690
            android:defaultValue="80"
            app:argType="integer" />
Kate Glazko's avatar
Kate Glazko committed
691
692
693
694
        <argument
            android:name="certificateName"
            android:defaultValue=" "
            app:argType="string" />
695
    </dialog>
696
697
    <fragment
        android:id="@+id/accountProblemFragment"
698
        android:name="org.mozilla.fenix.settings.account.AccountProblemFragment">
699
700
701
        <action
            android:id="@+id/action_accountProblemFragment_to_signOutFragment"
            app:destination="@id/signOutFragment" />
702
    </fragment>
703
704
    <dialog
        android:id="@+id/signOutFragment"
705
        android:name="org.mozilla.fenix.settings.account.SignOutFragment" />
706
707
    <dialog
        android:id="@+id/trackingProtectionPanelDialogFragment"
ekager's avatar
ekager committed
708
        android:name="org.mozilla.fenix.trackingprotection.TrackingProtectionPanelDialogFragment">
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
        <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"
725
726
        android:name="org.mozilla.fenix.trackingprotection.TrackingProtectionBlockingFragment"
        tools:layout="@layout/fragment_tracking_protection_blocking">
727
        <argument
mcarare's avatar
mcarare committed
728
            android:name="protectionMode"
729
            app:argType="org.mozilla.fenix.trackingprotection.TrackingProtectionMode" />
730
    </fragment>
731
732
    <fragment
        android:id="@+id/deleteBrowsingDataOnQuitFragment"
ekager's avatar
ekager committed
733
        android:name="org.mozilla.fenix.settings.deletebrowsingdata.DeleteBrowsingDataOnQuitFragment" />
734
735
736

    <fragment
        android:id="@+id/addNewDeviceFragment"
ekager's avatar
ekager committed
737
        android:name="org.mozilla.fenix.share.AddNewDeviceFragment" />
738
739
    <fragment
        android:id="@+id/localeSettingsFragment"
ekager's avatar
ekager committed
740
        android:name="org.mozilla.fenix.settings.advanced.LocaleSettingsFragment" />
741
742
    <fragment
        android:id="@+id/saveLoginSettingFragment"
743
        android:name="org.mozilla.fenix.settings.logins.fragment.SavedLoginsSettingFragment"
744
        android:label="SaveLoginSettingFragment" />
Gabriel Luong's avatar
Gabriel Luong committed
745
746
747
748
749
750
751
752
753
    <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"
754
            app:nullable="true" />
Gabriel Luong's avatar
Gabriel Luong committed
755
    </fragment>
756
757
758
    <dialog
        android:id="@+id/tabHistoryDialogFragment"
        android:name="org.mozilla.fenix.tabhistory.TabHistoryDialogFragment" />
Tiger Oakes's avatar
Tiger Oakes committed
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
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

    <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
892
</navigation>