1<?xml version="1.0" encoding="utf-8"?>
2<!--
3  ~ Copyright (C) 2023 The Android Open Source Project
4  ~
5  ~ Licensed under the Apache License, Version 2.0 (the "License");
6  ~ you may not use this file except in compliance with the License.
7  ~ You may obtain a copy of the License at
8  ~
9  ~      http://www.apache.org/licenses/LICENSE-2.0
10  ~
11  ~ Unless required by applicable law or agreed to in writing, software
12  ~ distributed under the License is distributed on an "AS IS" BASIS,
13  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  ~ See the License for the specific language governing permissions and
15  ~ limitations under the License.
16  ~
17  ~
18  -->
19<navigation xmlns:android="http://schemas.android.com/apk/res/android"
20    xmlns:app="http://schemas.android.com/apk/res-auto"
21    android:id="@+id/permissions_nav_graph"
22    app:startDestination="@id/allDataFragment">
23
24    <include app:graph="@navigation/connected_app_nav_graph"/>
25
26    <fragment
27        android:id="@+id/appDataFragment"
28        android:label="@string/app_data_title"
29        android:name="com.android.healthconnect.controller.data.appdata.AppDataFragment">
30        <argument
31            android:name="android.intent.extra.PACKAGE_NAME"
32            app:argType="string" />
33        <action
34            android:id="@+id/action_appData_to_appEntries"
35            app:destination="@id/appEntriesFragment" />
36    </fragment>
37
38    <fragment
39        android:id="@+id/appEntriesFragment"
40        android:label="@string/app_data_title"
41        android:name="com.android.healthconnect.controller.data.entries.AppEntriesFragment">
42        <argument
43            android:name="android.intent.extra.PACKAGE_NAME"
44            app:argType="string" />
45        <action
46            android:id="@+id/action_appEntriesFragment_to_dataEntryDetailsFragment"
47            app:destination="@id/dataEntryDetailsFragment" />
48    </fragment>
49
50    <fragment
51        android:id="@+id/allDataFragment"
52        android:label="@string/data_title"
53        android:name="com.android.healthconnect.controller.data.alldata.AllDataFragment">
54        <action
55            android:id="@+id/action_allData_to_entriesAndAccess"
56            app:destination="@id/entriesAndAccessFragment" />
57        <action
58            android:id="@+id/action_allDataFragment_to_unitFragment"
59            app:destination="@id/unitFragment" />
60        <action
61            android:id="@+id/action_allDataFragment_to_dataSourcesFragment"
62            app:destination="@id/dataSourcesFragment"/>
63
64    </fragment>
65
66    <fragment
67        android:id="@+id/entriesAndAccessFragment"
68        android:label="@string/data_title"
69        android:name="com.android.healthconnect.controller.data.entriesandaccess.EntriesAndAccessFragment">
70        <action
71            android:id="@+id/action_entriesAndAccessFragment_to_dataEntryDetailsFragment"
72            app:destination="@id/dataEntryDetailsFragment" />
73        <action
74            android:id="@+id/action_entriesAndAccessFragment_to_appAccess"
75            app:destination="@id/connected_app_nav_graph" />
76        <action
77            android:id="@+id/action_entriesAndAccessFragment_to_unitFragment"
78            app:destination="@id/unitFragment" />
79    </fragment>
80
81    <fragment
82        android:id="@+id/unitFragment"
83        android:name="com.android.healthconnect.controller.dataentries.units.UnitsFragment"
84        android:label="@string/units_title" />
85
86    <fragment
87        android:id="@+id/dataEntryDetailsFragment"
88        android:name="com.android.healthconnect.controller.entrydetails.DataEntryDetailsFragment"
89        android:label="@string/entry_details_title" >
90        <action
91            android:id="@+id/action_dataEntryDetailsFragment_to_unitFragment"
92            app:destination="@id/unitFragment" />
93    </fragment>
94
95    <fragment
96        android:id="@+id/connectedAppFragment"
97        android:label="@string/app_access_title"
98        android:name="com.android.healthconnect.controller.permissions.app.ConnectedAppFragment">
99        <argument
100            android:name="android.intent.extra.PACKAGE_NAME"
101            app:argType="string" />
102        <action
103            android:id="@+id/action_connectedApp_to_appData"
104            app:destination="@id/appDataFragment" />
105    </fragment>
106
107    <fragment
108        android:id="@+id/dataSourcesFragment"
109        android:name="com.android.healthconnect.controller.datasources.DataSourcesFragment"
110        android:label="@string/data_sources_and_priority_title">
111        <action
112            android:id="@+id/action_dataSourcesFragment_to_addAnAppFragment"
113            app:destination="@id/addAnAppFragment"/>
114    </fragment>
115
116    <fragment
117        android:id="@+id/addAnAppFragment"
118        android:name="com.android.healthconnect.controller.datasources.AddAnAppFragment"
119        android:label="@string/data_sources_add_app">
120        <action
121            android:id="@+id/action_addAnAppFragment_to_dataSourcesFragment"
122            app:popUpTo="@id/dataSourcesFragment"
123            app:popUpToInclusive="true"
124            app:destination="@id/dataSourcesFragment"/>
125    </fragment>
126
127
128    <activity
129        android:id="@+id/manageAppPermissions"
130        app:action="android.health.connect.action.MANAGE_HEALTH_PERMISSIONS">
131    </activity>
132</navigation>