1<?xml version="1.0" encoding="utf-8"?>
2<!-- Copyright (C) 2016 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     xmlns:tools="http://schemas.android.com/tools"
19     package="com.android.emergency"
20     android:sharedUserId="com.android.emergency.uid">
21
22    <uses-permission android:name="android.permission.VIBRATE" />
23    <uses-permission android:name="android.permission.START_ACTIVITIES_FROM_BACKGROUND" />
24    <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
25    <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
26    <uses-permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE"/>
27    <uses-permission android:name="android.permission.CALL_PHONE"/>
28    <uses-permission android:name="android.permission.CALL_PRIVILEGED"/>
29    <uses-permission android:name="android.permission.READ_CONTACTS"/>
30    <uses-permission android:name="android.permission.MANAGE_USERS"/>
31    <uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS"/>
32
33    <uses-sdk android:minSdkVersion="21"/>
34
35    <queries>
36        <!-- Needed to take photos as user avatar in Medical info UI -->
37        <intent>
38            <action android:name="android.media.action.IMAGE_CAPTURE" />
39        </intent>
40        <!-- Needed to edit images as user avatar in Medical info UI -->
41        <intent>
42            <action android:name="android.intent.action.GET_CONTENT" />
43            <data android:mimeType="image/*" />
44        </intent>
45    </queries>
46
47    <application android:defaultToDeviceProtectedStorage="true"
48         android:icon="@mipmap/ic_local_hospital_24dp"
49         android:directBootAware="true"
50         android:label="@string/app_label"
51         android:supportsRtl="true"
52         android:appComponentFactory="androidx.core.app.CoreComponentFactory"
53         tools:replace="android:appComponentFactory">
54        <activity android:name=".view.ViewInfoActivity"
55             android:theme="@style/AppThemeEmergency"
56             android:taskAffinity="com.android.settings"
57             android:showWhenLocked="true"
58             android:icon="@drawable/ic_launcher_settings"
59             android:launchMode="singleTask"
60             android:exported="true">
61            <intent-filter>
62                <action android:name="android.telephony.action.EMERGENCY_ASSISTANCE"/>
63                <category android:name="android.intent.category.DEFAULT"/>
64            </intent-filter>
65        </activity>
66
67        <activity android:name=".edit.EditInfoActivity"
68             android:icon="@drawable/ic_launcher_settings"
69             android:theme="@style/AppTheme"
70             android:taskAffinity="com.android.settings"
71             android:launchMode="singleTask"
72             android:exported="true">
73            <intent-filter>
74                <action android:name="android.settings.EDIT_EMERGENCY_INFO"/>
75                <category android:name="android.intent.category.DEFAULT"/>
76            </intent-filter>
77        </activity>
78
79        <activity
80            android:name=".EmergencyDialerTrampoline"
81            android:theme="@android:style/Theme.NoDisplay"
82            android:excludeFromRecents="true"
83            android:enabled="false"
84            android:exported="false">
85            <intent-filter>
86                <action android:name="android.intent.action.DIAL_EMERGENCY"/>
87                <category android:name="android.intent.category.DEFAULT"/>
88            </intent-filter>
89            <intent-filter>
90                <action android:name="android.intent.action.DIAL_EMERGENCY"/>
91                <category android:name="android.intent.category.DEFAULT"/>
92                <data android:scheme="tel"/>
93            </intent-filter>
94        </activity>
95
96        <!-- Alias for edit activity, to allow settings suggestion to be independent from main activity -->
97        <activity-alias android:name=".edit.EditInfoSuggestion"
98             android:label="@string/app_label"
99             android:targetActivity=".edit.EditInfoActivity"
100             android:exported="true">
101            <intent-filter>
102                <action android:name="android.intent.action.MAIN"/>
103                <category android:name="com.android.settings.suggested.category.FIRST_IMPRESSION"/>
104            </intent-filter>
105            <meta-data android:name="com.android.settings.dismiss"
106                 android:value="11,15,30"/>
107            <meta-data android:name="com.android.settings.title"
108                 android:resource="@string/settings_suggestion_title"/>
109            <meta-data android:name="com.android.settings.summary"
110                 android:resource="@string/settings_suggestion_body"/>
111            <meta-data android:name="com.android.settings.icon"
112                 android:resource="@drawable/ic_local_hospital_24dp"/>
113        </activity-alias>
114
115        <!-- Injected setting to edit emergency contact & medical info -->
116        <activity-alias
117            android:name="EmergencyInfoActivity"
118            android:targetActivity=".edit.EditInfoActivity"
119            android:icon="@drawable/ic_emergency_contacts_24dp"
120            android:label="@string/app_label"
121            android:exported="false">
122            <intent-filter>
123                <action android:name="com.android.settings.action.IA_SETTINGS" />
124                <category android:name="android.intent.category.DEFAULT" />
125            </intent-filter>
126
127            <meta-data
128                android:name="com.android.settings.category"
129                android:value="com.android.settings.category.ia.emergency" />
130            <meta-data
131                android:name="com.android.settings.order"
132                android:value="60" />
133            <meta-data
134                android:name="com.android.settings.icon"
135                android:resource="@drawable/ic_emergency_contacts_24dp"/>
136            <meta-data
137                android:name="com.android.settings.icon_tintable"
138                android:value="true" />
139            <meta-data
140                android:name="com.android.settings.summary"
141                android:resource="@string/injection_summary_empty"/>
142            <meta-data
143                android:name="com.android.settings.profile"
144                android:value="primary_profile_only" />
145        </activity-alias>
146
147        <activity android:name=".edit.EditMedicalInfoActivity"
148             android:icon="@drawable/ic_launcher_settings"
149             android:label="@string/medical_info_title"
150             android:parentActivityName="com.android.emergency.edit.EditInfoActivity"
151             android:theme="@style/AppTheme"
152             android:taskAffinity="com.android.settings"
153             android:launchMode="singleTask"
154             android:exported="true">
155            <intent-filter>
156                <action android:name="android.emergency.EDIT_MEDICAL_INFO"/>
157                <category android:name="android.intent.category.DEFAULT"/>
158            </intent-filter>
159        </activity>
160
161        <provider android:name=".EmergencySearchIndexablesProvider"
162             android:authorities="com.android.emergency"
163             android:multiprocess="false"
164             android:grantUriPermissions="true"
165             android:permission="android.permission.READ_SEARCH_INDEXABLES"
166             android:exported="true">
167            <intent-filter>
168                <action android:name="android.content.action.SEARCH_INDEXABLES_PROVIDER"/>
169            </intent-filter>
170        </provider>
171
172        <provider android:name="androidx.core.content.FileProvider"
173             android:authorities="com.android.emergency.files"
174             android:grantUriPermissions="true"
175             android:exported="false">
176            <meta-data android:name="android.support.FILE_PROVIDER_PATHS"
177                 android:resource="@xml/file_paths"/>
178        </provider>
179
180        <provider
181            android:name=".EmergencyGestureContentProvider"
182            android:authorities="com.android.emergency.gesture"
183            android:permission="android.permission.CALL_PRIVILEGED"/>
184
185    </application>
186
187</manifest>
188