• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<?xml version="1.0" encoding="utf-8"?><!--
2  Copyright (C) 2023 The Android Open Source Project
3
4  Licensed under the Apache License, Version 2.0 (the "License");
5  you may not use this file except in compliance with the License.
6  You may obtain a copy of the License at
7
8       http://www.apache.org/licenses/LICENSE-2.0
9
10  Unless required by applicable law or agreed to in writing, software
11  distributed under the License is distributed on an "AS IS" BASIS,
12  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  See the License for the specific language governing permissions and
14  limitations under the License.
15-->
16
17<manifest xmlns:android="http://schemas.android.com/apk/res/android"
18    package="com.android.healthconnect.controller">
19
20    <protected-broadcast android:name="android.health.connect.action.HEALTH_CONNECT_MIGRATION_READY" />
21
22    <uses-permission android:name="android.permission.MANAGE_HEALTH_PERMISSIONS" />
23    <uses-permission android:name="android.permission.MANAGE_HEALTH_DATA" />
24    <uses-permission android:name="android.permission.START_VIEW_PERMISSION_USAGE" />
25    <uses-permission android:name="android.permission.health.READ_EXERCISE_ROUTE" />
26    <uses-permission android:name="android.permission.LAUNCH_MULTI_PANE_SETTINGS_DEEP_LINK" />
27    <uses-permission android:name="android.permission.SEND_SAFETY_CENTER_UPDATE" />
28    <uses-permission android:name="android.permission.health.START_ONBOARDING" />
29    <!-- Used to enable and update safety-center entry points  -->
30    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
31    <!-- Used to show permissions for apps that have not declared VIEW_PERMISSION_USAGE but
32     still have at least one permission granted -->
33    <uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" />
34    <!-- Used to disable non system apps from showing overlays -->
35    <uses-permission android:name="android.permission.HIDE_OVERLAY_WINDOWS" />
36    <!-- Used to adopt gaui -->
37    <uses-permission android:name="android.permission.READ_SYSTEM_GRAMMATICAL_GENDER" />
38
39    <application
40        android:name=".HealthConnectApplication"
41        android:icon="@mipmap/ic_launcher"
42        android:label="@string/app_label"
43        android:supportsRtl="true"
44        android:theme="@style/Theme.HealthConnect">
45
46        <activity
47            android:name=".navigation.TrampolineActivity"
48            android:excludeFromRecents="true"
49            android:exported="true"
50            android:noHistory="true">
51
52            <!-- Deeplink to Home screen -->
53            <intent-filter android:priority="1">
54                <action android:name="android.health.connect.action.HEALTH_HOME_SETTINGS" />
55                <action android:name="android.health.connect.action.MANAGE_HEALTH_DATA" />
56                <action android:name="android.health.connect.action.SKIP_HEALTH_CONNECT_ONBOARDING" />
57                <action android:name="android.intent.action.MAIN" />
58
59                <category android:name="android.intent.category.DEFAULT" />
60            </intent-filter>
61        </activity>
62
63        <activity-alias
64            android:name="PermissionControllerEntryPoint"
65            android:targetActivity=".navigation.TrampolineActivity"
66            android:permission="android.permission.GRANT_RUNTIME_PERMISSIONS"
67            android:exported="true">
68
69            <intent-filter android:priority="1">
70                <action android:name="android.health.connect.action.MANAGE_HEALTH_PERMISSIONS" />
71                <category android:name="android.intent.category.DEFAULT" />
72            </intent-filter>
73        </activity-alias>
74
75        <activity
76            android:name=".MainActivity"
77            android:exported="false">
78        </activity>
79
80        <activity-alias
81            android:name="LegacySettingsEntryPoint"
82            android:exported="true"
83            android:targetActivity=".navigation.TrampolineActivity">
84
85            <intent-filter>
86                <action android:name="com.android.settings.action.IA_SETTINGS" />
87                <category android:name="android.intent.category.DEFAULT" />
88            </intent-filter>
89            <!-- Tell Settings app which category it belongs to -->
90            <meta-data
91                android:name="com.android.settings.category"
92                android:value="com.android.settings.category.ia.privacy" />
93            <meta-data
94                android:name="com.android.settings.title"
95                android:resource="@string/app_label" />
96            <meta-data
97                android:name="com.android.settings.summary"
98                android:resource="@string/health_connect_summary" />
99        </activity-alias>
100
101        <activity
102            android:name=".migration.MigrationActivity"
103            android:exported="true">
104            <intent-filter>
105                <action android:name="android.health.connect.action.MIGRATION" />
106                <category android:name="android.intent.category.DEFAULT" />
107            </intent-filter>
108        </activity>
109
110        <activity
111            android:name=".data.DataManagementActivity"
112            android:exported="false">
113        </activity>
114
115        <activity
116            android:name=".permissions.shared.SettingsActivity"
117            android:exported="false">
118        </activity>
119
120        <activity
121            android:name=".permissions.app.wear.WearViewAppInfoPermissionsActivity"
122            android:exported="false">
123        </activity>
124
125        <activity
126            android:name=".permissions.connectedapps.wear.WearSettingsPermissionActivity"
127            android:exported="false">
128        </activity>
129
130        <activity
131            android:name=".permissions.request.PermissionsActivity"
132            android:excludeFromRecents="true"
133            android:exported="true"
134            android:permission="android.permission.GRANT_RUNTIME_PERMISSIONS">
135            <intent-filter android:priority="1">
136                <action android:name="android.health.connect.action.REQUEST_HEALTH_PERMISSIONS" />
137                <category android:name="android.intent.category.DEFAULT" />
138            </intent-filter>
139        </activity>
140
141        <activity
142            android:name=".permissions.request.wear.WearGrantPermissionsActivity"
143            android:exported="false">
144        </activity>
145
146        <activity
147            android:name=".route.RouteRequestActivity"
148            android:excludeFromRecents="true"
149            android:exported="true"
150            android:permission="android.permission.health.READ_EXERCISE"
151            android:theme="@style/Theme.HealthConnect">
152            <intent-filter android:priority="1">
153                <action android:name="android.health.connect.action.REQUEST_EXERCISE_ROUTE" />
154                <category android:name="android.intent.category.DEFAULT" />
155            </intent-filter>
156        </activity>
157
158        <activity
159            android:name=".onboarding.OnboardingActivity"
160            android:exported="false"
161            android:theme="@style/Theme.HealthConnect" />
162
163        <activity
164            android:name=".onboarding.SkipOnboardingActivity"
165            android:configChanges="@integer/nodisplay_config_changes"
166            android:excludeFromRecents="true"
167            android:exported="false"
168            android:theme="@style/Theme.HealthConnect"/>
169
170        <activity
171            android:name=".exportimport.ExportSetupActivity"
172            android:exported="false"
173            android:windowSoftInputMode="adjustResize"
174            android:theme="@style/Theme.HealthConnect">
175            <intent-filter android:priority="1">
176                <action android:name="android.health.connect.action.START_EXPORT_SETUP" />
177                <category android:name="android.intent.category.DEFAULT" />
178            </intent-filter>
179    </activity>
180
181        <activity
182            android:name=".exportimport.ImportFlowActivity"
183            android:exported="false"
184            android:windowSoftInputMode="adjustResize"
185            android:theme="@style/Theme.HealthConnect">
186            <intent-filter android:priority="1">
187                <action android:name="android.health.connect.action.START_IMPORT_FLOW" />
188                <category android:name="android.intent.category.DEFAULT" />
189            </intent-filter>
190        </activity>
191
192        <provider
193            android:name=".searchindexables.HealthConnectSearchIndexablesProvider"
194            android:authorities="${packageName}"
195            android:exported="true"
196            android:grantUriPermissions="true"
197            android:multiprocess="false"
198            android:permission="android.permission.READ_SEARCH_INDEXABLES">
199            <intent-filter>
200                <action android:name="android.content.action.SEARCH_INDEXABLES_PROVIDER" />
201            </intent-filter>
202        </provider>
203
204        <receiver
205            android:name=".safetycenter.SafetySourceBroadcastReceiver"
206            android:exported="true">
207            <intent-filter>
208                <action android:name="android.safetycenter.action.REFRESH_SAFETY_SOURCES" />
209                <action android:name="android.intent.action.BOOT_COMPLETED" />
210            </intent-filter>
211        </receiver>
212    </application>
213
214    <queries>
215        <intent>
216            <!-- An intent action to get package visibility into client apps. See more at b/193547946 -->
217            <action android:name="android.intent.action.VIEW_PERMISSION_USAGE" />
218            <category android:name="android.intent.category.HEALTH_PERMISSIONS" />
219        </intent>
220    </queries>
221</manifest>
222