1<?xml version="1.0" encoding="utf-8"?>
2<!-- Copyright (C) 2010 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<manifest xmlns:android="http://schemas.android.com/apk/res/android"
17        package="com.android.nfc"
18        android:sharedUserId="android.uid.nfc"
19        android:sharedUserLabel="@string/nfcUserLabel"
20>
21    <uses-permission android:name="android.permission.BLUETOOTH" />
22    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
23    <uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
24    <uses-permission android:name="android.permission.BLUETOOTH_SCAN" />
25    <uses-permission android:name="android.permission.BLUETOOTH_PRIVILEGED" />
26    <uses-permission android:name="android.permission.NFC" />
27    <uses-permission android:name="android.permission.NFC_SET_CONTROLLER_ALWAYS_ON" />
28    <uses-permission android:name="android.permission.BIND_NFC_SERVICE" />
29    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
30    <uses-permission android:name="android.permission.STATUS_BAR" />
31    <uses-permission android:name="android.permission.WRITE_SETTINGS" />
32    <uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />
33    <uses-permission android:name="android.permission.WAKE_LOCK" />
34    <uses-permission android:name="android.permission.STOP_APP_SWITCHES" />
35    <uses-permission android:name="android.permission.MASTER_CLEAR" />
36    <uses-permission android:name="android.permission.REAL_GET_TASKS" />
37    <uses-permission android:name="android.permission.READ_PROFILE" />
38    <uses-permission android:name="android.permission.READ_CONTACTS" />
39    <uses-permission android:name="android.permission.READ_FRAME_BUFFER" />
40    <uses-permission android:name="android.permission.READ_DEVICE_CONFIG" />
41    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
42    <uses-permission android:name="android.permission.HIDE_NON_SYSTEM_OVERLAY_WINDOWS" />
43    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
44    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
45    <uses-permission android:name="android.permission.VIBRATE" />
46    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
47    <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" />
48    <uses-permission android:name="android.permission.INTERNET" />
49    <uses-permission android:name="android.permission.MANAGE_USERS" />
50    <uses-permission android:name="android.permission.INTERNAL_SYSTEM_WINDOW" />
51    <uses-permission android:name="android.permission.SET_ACTIVITY_WATCHER" />
52    <uses-permission android:name="android.permission.NFC_HANDOVER_STATUS" />
53    <uses-permission android:name="android.permission.LOCAL_MAC_ADDRESS" />
54    <uses-permission android:name="com.android.permission.ALLOWLIST_BLUETOOTH_DEVICE" />
55    <uses-permission android:name="android.permission.DISPATCH_NFC_MESSAGE" />
56    <uses-permission android:name="android.permission.OVERRIDE_WIFI_CONFIG" />
57    <uses-permission android:name="android.permission.DEVICE_POWER" />
58    <uses-permission android:name="android.permission.ACCESS_VR_STATE"/>
59    <uses-permission android:name="android.permission.USER_ACTIVITY" />
60    <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
61    <uses-permission android:name="android.permission.START_ACTIVITIES_FROM_BACKGROUND" />
62    <uses-permission android:name="android.permission.QUERY_ALL_PACKAGES"/>
63    <uses-permission android:name="android.permission.PACKAGE_USAGE_STATS" />
64    <uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
65    <uses-permission android:name="android.permission.SUBSCRIBE_TO_KEYGUARD_LOCKED_STATE" />
66    <uses-permission android:name="android.permission.SHOW_CUSTOMIZED_RESOLVER" />
67    <uses-permission android:name="android.permission.MANAGE_ROLE_HOLDERS" />
68    <uses-permission android:name="android.permission.OBSERVE_ROLE_HOLDERS"/>
69    <uses-permission android:name="android.permission.DUMP"/>
70    <uses-permission android:name="android.permission.QUERY_CLONED_APPS"/>
71    <uses-permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE"/>
72    <uses-permission android:name="android.permission.MODIFY_PHONE_STATE"/>
73    <uses-permission android:name="android.permission.WRITE_SECURITY_LOG"/>
74
75    <protected-broadcast android:name="android.nfc.intent.action.WATCHDOG" />
76
77    <application android:name=".NfcApplication"
78                 android:icon="@drawable/icon"
79                 android:label="@string/app_name"
80                 android:theme="@android:style/Theme.Material.Light"
81                 android:persistent="true"
82                 android:persistentWhenFeatureAvailable="android.hardware.nfc.any"
83                 android:restoreAnyVersion="true"
84                 android:backupAgent="com.android.nfc.NfcBackupAgent"
85                 android:killAfterRestore="false"
86                 android:usesCleartextTraffic="false"
87                 android:supportsRtl="true"
88                 android:hardwareAccelerated="false"
89                 android:memtagMode="async"
90                 android:featureFlag="!com.android.nfc.flags.enable_direct_boot_aware"
91    >
92        <meta-data android:name="com.google.android.backup.api_key"
93            android:value="AEdPqrEAAAAIbiKKs0wlimxeJ9y8iRIaBOH6aeb2IurmZyBHvg" />
94
95        <provider android:name="androidx.core.content.FileProvider"
96            android:authorities="com.google.android.nfc.fileprovider"
97            android:grantUriPermissions="true"
98            android:exported="false">
99            <meta-data
100                android:name="android.support.FILE_PROVIDER_PATHS"
101                android:resource="@xml/file_paths" />
102        </provider>
103
104        <activity android:name=".TechListChooserActivity"
105            android:theme="@*android:style/Theme.Dialog.Alert"
106            android:finishOnCloseSystemDialogs="true"
107            android:excludeFromRecents="true"
108            android:multiprocess="true"
109        />
110
111        <activity android:name=".cardemulation.AppChooserActivity"
112            android:finishOnCloseSystemDialogs="true"
113            android:excludeFromRecents="true"
114            android:clearTaskOnLaunch="true"
115            android:multiprocess="true"
116            android:theme="@style/BottomSheetDialogStyle"
117        />
118
119        <activity android:name=".cardemulation.TapAgainDialog"
120            android:finishOnCloseSystemDialogs="true"
121            android:excludeFromRecents="true"
122            android:clearTaskOnLaunch="true"
123            android:multiprocess="true"
124        />
125        <activity android:name=".NfcRootActivity"
126            android:theme="@*android:style/Theme.Translucent.NoTitleBar"
127            android:excludeFromRecents="true"
128            android:noHistory="true"
129        />
130        <activity android:name=".handover.ConfirmConnectActivity"
131            android:finishOnCloseSystemDialogs="true"
132            android:excludeFromRecents="true"
133            android:theme="@android:style/Theme.Translucent.NoTitleBar"
134            android:noHistory="true"
135            android:configChanges="orientation|keyboardHidden|screenSize"
136        />
137        <activity android:name=".ConfirmConnectToWifiNetworkActivity"
138            android:finishOnCloseSystemDialogs="true"
139            android:excludeFromRecents="true"
140            android:theme="@android:style/Theme.Translucent.NoTitleBar"
141            android:noHistory="true"
142        />
143        <activity android:name=".NfcEnableAllowlistActivity"
144            android:theme="@android:style/Theme.Translucent.NoTitleBar"
145            android:noHistory="true"
146        />
147
148        <receiver android:name=".NfcBootCompletedReceiver"
149            android:exported="true">
150            <intent-filter>
151                <action android:name="android.intent.action.BOOT_COMPLETED" />
152            </intent-filter>
153        </receiver>
154
155        <service android:name=".handover.PeripheralHandoverService"
156        />
157    </application>
158
159    <application android:name=".NfcApplication"
160                 android:icon="@drawable/icon"
161                 android:label="@string/app_name"
162                 android:theme="@android:style/Theme.Material.Light"
163                 android:persistent="true"
164                 android:persistentWhenFeatureAvailable="android.hardware.nfc.any"
165                 android:restoreAnyVersion="true"
166                 android:backupAgent="com.android.nfc.NfcBackupAgent"
167                 android:killAfterRestore="false"
168                 android:usesCleartextTraffic="false"
169                 android:supportsRtl="true"
170                 android:hardwareAccelerated="false"
171                 android:memtagMode="async"
172                 android:directBootAware="true"
173                 android:defaultToDeviceProtectedStorage="true"
174                 android:featureFlag="com.android.nfc.flags.enable_direct_boot_aware"
175    >
176        <meta-data android:name="com.google.android.backup.api_key"
177            android:value="AEdPqrEAAAAIbiKKs0wlimxeJ9y8iRIaBOH6aeb2IurmZyBHvg" />
178
179        <provider android:name="androidx.core.content.FileProvider"
180            android:authorities="com.google.android.nfc.fileprovider"
181            android:grantUriPermissions="true"
182            android:exported="false">
183            <meta-data
184                android:name="android.support.FILE_PROVIDER_PATHS"
185                android:resource="@xml/file_paths" />
186        </provider>
187
188        <activity android:name=".TechListChooserActivity"
189            android:theme="@*android:style/Theme.Dialog.Alert"
190            android:finishOnCloseSystemDialogs="true"
191            android:excludeFromRecents="true"
192            android:multiprocess="true"
193        />
194
195        <activity android:name=".cardemulation.AppChooserActivity"
196            android:finishOnCloseSystemDialogs="true"
197            android:excludeFromRecents="true"
198            android:clearTaskOnLaunch="true"
199            android:multiprocess="true"
200            android:theme="@style/BottomSheetDialogStyle"
201        />
202
203        <activity android:name=".cardemulation.TapAgainDialog"
204            android:finishOnCloseSystemDialogs="true"
205            android:excludeFromRecents="true"
206            android:clearTaskOnLaunch="true"
207            android:multiprocess="true"
208        />
209        <activity android:name=".NfcRootActivity"
210            android:theme="@*android:style/Theme.Translucent.NoTitleBar"
211            android:excludeFromRecents="true"
212            android:noHistory="true"
213        />
214        <activity android:name=".handover.ConfirmConnectActivity"
215            android:finishOnCloseSystemDialogs="true"
216            android:excludeFromRecents="true"
217            android:theme="@android:style/Theme.Translucent.NoTitleBar"
218            android:noHistory="true"
219            android:configChanges="orientation|keyboardHidden|screenSize"
220        />
221        <activity android:name=".ConfirmConnectToWifiNetworkActivity"
222            android:finishOnCloseSystemDialogs="true"
223            android:excludeFromRecents="true"
224            android:theme="@android:style/Theme.Translucent.NoTitleBar"
225            android:noHistory="true"
226        />
227        <activity android:name=".NfcEnableAllowlistActivity"
228            android:theme="@android:style/Theme.Translucent.NoTitleBar"
229            android:noHistory="true"
230        />
231
232        <receiver android:name=".NfcBootCompletedReceiver"
233            android:exported="true">
234            <intent-filter>
235                <action android:name="android.intent.action.BOOT_COMPLETED" />
236            </intent-filter>
237        </receiver>
238
239        <service android:name=".handover.PeripheralHandoverService"
240        />
241    </application>
242</manifest>
243