1<?xml version="1.0" encoding="utf-8"?>
2<!--
3  ~ Copyright (C) 2019 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<navigation xmlns:android="http://schemas.android.com/apk/res/android"
19            xmlns:app="http://schemas.android.com/apk/res-auto"
20            android:id="@+id/nav_graph"
21            app:startDestination="@id/manage_standard">
22
23    <!-- TODO ntmyren: remove placeholder animations -->
24
25    <!-- For explanation of the navigation component, and this graph, see
26    https://developer.android.com/guide/navigation -->
27
28    <fragment
29        android:id="@+id/manage_standard"
30        android:name="com.android.permissioncontroller.permission.ui.handheld.ManageStandardPermissionsFragment"
31        android:label="ManageStandard">
32
33        <!-- Represents a transition from this fragment to another that this fragment can then
34        activate -->
35        <action
36            android:id="@+id/standard_to_custom"
37            app:destination="@id/manage_custom"
38            app:enterAnim="@anim/activity_open_enter"
39            app:popEnterAnim="@anim/activity_close_enter"
40            app:popExitAnim="@anim/activity_close_exit"/>
41
42        <action
43            android:id="@+id/manage_to_perm_apps"
44            app:destination="@id/permission_apps"
45            app:enterAnim="@anim/activity_open_enter"
46            app:popEnterAnim="@anim/activity_open_enter"
47            app:popExitAnim="@anim/activity_close_exit"/>
48
49        <action
50            android:id="@+id/manage_to_auto_revoke"
51            app:destination="@id/auto_revoke"
52            app:enterAnim="@anim/activity_open_enter"
53            app:popEnterAnim="@anim/activity_open_enter"
54            app:popExitAnim="@anim/activity_close_exit"/>
55
56    </fragment>
57
58    <fragment
59        android:id="@+id/manage_custom"
60        android:name="com.android.permissioncontroller.permission.ui.handheld.ManageCustomPermissionsFragment"
61        android:label="ManageCustom">
62
63        <action
64            android:id="@+id/manage_to_perm_apps"
65            app:destination="@id/permission_apps"
66            app:enterAnim="@anim/activity_open_enter"
67            app:popExitAnim="@anim/activity_close_exit"
68            app:popEnterAnim="@anim/activity_open_enter"/>
69
70    </fragment>
71
72    <fragment
73        android:id="@+id/auto_revoke"
74        android:name="com.android.permissioncontroller.permission.ui.handheld.AutoRevokeFragment"
75        android:label="AutoRevoke">
76
77        <action
78            android:id="@+id/auto_revoke_to_app_perms"
79            app:destination="@id/app_permission_groups"
80            app:enterAnim="@anim/activity_open_enter"
81            app:popExitAnim="@anim/activity_close_exit"
82            app:popEnterAnim="@anim/activity_open_enter"/>
83
84    </fragment>
85
86    <fragment
87        android:id="@+id/permission_apps"
88        android:name="com.android.permissioncontroller.permission.ui.handheld.PermissionAppsFragment"
89        android:label="PermissionApps">
90
91        <action
92            android:id="@+id/perm_apps_to_app"
93            app:destination="@id/app_permission"
94            app:enterAnim="@anim/activity_open_enter"
95            app:popExitAnim="@anim/activity_close_exit"
96            app:popEnterAnim="@anim/activity_open_enter"/>
97    </fragment>
98
99    <fragment
100        android:id="@+id/app_permission_groups"
101        android:name="com.android.permissioncontroller.permission.ui.handheld.AppPermissionGroupsFragment"
102        android:label="AppPermissionGroups">
103
104        <action
105            android:id="@+id/perm_groups_to_app"
106            app:destination="@id/app_permission"
107            app:enterAnim="@anim/activity_open_enter"
108            app:popExitAnim="@anim/activity_close_exit"
109            app:popEnterAnim="@anim/activity_open_enter"/>
110
111        <action
112            android:id="@+id/perm_groups_to_all_perms"
113            app:destination="@id/all_app_permissions"
114            app:enterAnim="@anim/activity_open_enter"
115            app:popExitAnim="@anim/activity_close_exit"
116            app:popEnterAnim="@anim/activity_open_enter"/>
117
118        <action
119            android:id="@+id/perm_groups_to_custom"
120            app:destination="@id/custom_app_permission_groups"
121            app:enterAnim="@anim/activity_open_enter"
122            app:popExitAnim="@anim/activity_close_exit"
123            app:popEnterAnim="@anim/activity_open_enter"/>
124    </fragment>
125
126    <fragment
127        android:id="@+id/custom_app_permission_groups"
128        android:name="com.android.permissioncontroller.permission.ui.handheld.AppPermissionGroupsFragment"
129        android:label="CustomAppPermissionGroups">
130
131        <action
132            android:id="@+id/perm_groups_to_app"
133            app:destination="@id/app_permission"
134            app:enterAnim="@anim/activity_open_enter"
135            app:popExitAnim="@anim/activity_close_exit"
136            app:popEnterAnim="@anim/activity_open_enter"/>
137
138        <action
139            android:id="@+id/perm_groups_to_all_perms"
140            app:destination="@id/all_app_permissions"
141            app:enterAnim="@anim/activity_open_enter"
142            app:popExitAnim="@anim/activity_close_exit"
143            app:popEnterAnim="@anim/activity_open_enter"/>
144    </fragment>
145
146    <fragment
147        android:id="@+id/all_app_permissions"
148        android:name="com.android.permissioncontroller.permission.ui.handheld.AllAppPermissionsFragment"
149        android:label="AllAppPermissions"/>
150
151    <fragment
152        android:id="@+id/app_permission"
153        android:name="com.android.permissioncontroller.permission.ui.handheld.AppPermissionFragment"
154        android:label="AppPermission">
155
156        <action
157            android:id="@+id/app_to_perm_apps"
158            app:destination="@id/permission_apps"
159            app:enterAnim="@anim/activity_open_enter"
160            app:popExitAnim="@anim/activity_close_exit"
161            app:popEnterAnim="@anim/activity_open_enter"/>
162
163        <action
164            android:id="@+id/app_to_perm_groups"
165            app:destination="@id/app_permission_groups"
166            app:enterAnim="@anim/activity_open_enter"
167            app:popExitAnim="@anim/activity_close_exit"
168            app:popEnterAnim="@anim/activity_open_enter"/>
169
170        <action
171            android:id="@+id/app_to_all_perms"
172            app:destination="@id/all_app_permissions"
173            app:enterAnim="@anim/activity_open_enter"
174            app:popExitAnim="@anim/activity_close_exit"
175            app:popEnterAnim="@anim/activity_open_enter"/>
176    </fragment>
177</navigation>