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
73    <application android:name=".NfcApplication"
74                 android:icon="@drawable/icon"
75                 android:label="@string/app_name"
76                 android:theme="@android:style/Theme.Material.Light"
77                 android:persistent="true"
78                 android:persistentWhenFeatureAvailable="android.hardware.nfc.any"
79                 android:restoreAnyVersion="true"
80                 android:backupAgent="com.android.nfc.NfcBackupAgent"
81                 android:killAfterRestore="false"
82                 android:usesCleartextTraffic="false"
83                 android:supportsRtl="true"
84                 android:hardwareAccelerated="false"
85                 android:memtagMode="async"
86    >
87        <meta-data android:name="com.google.android.backup.api_key"
88            android:value="AEdPqrEAAAAIbiKKs0wlimxeJ9y8iRIaBOH6aeb2IurmZyBHvg" />
89
90        <provider android:name="androidx.core.content.FileProvider"
91            android:authorities="com.google.android.nfc.fileprovider"
92            android:grantUriPermissions="true"
93            android:exported="false">
94            <meta-data
95                android:name="android.support.FILE_PROVIDER_PATHS"
96                android:resource="@xml/file_paths" />
97        </provider>
98
99        <activity android:name=".TechListChooserActivity"
100            android:theme="@*android:style/Theme.Dialog.Alert"
101            android:finishOnCloseSystemDialogs="true"
102            android:excludeFromRecents="true"
103            android:multiprocess="true"
104        />
105
106        <activity android:name=".cardemulation.AppChooserActivity"
107            android:finishOnCloseSystemDialogs="true"
108            android:excludeFromRecents="true"
109            android:clearTaskOnLaunch="true"
110            android:multiprocess="true"
111            android:theme="@style/BottomSheetDialogStyle"
112        />
113
114        <activity android:name=".cardemulation.TapAgainDialog"
115            android:finishOnCloseSystemDialogs="true"
116            android:excludeFromRecents="true"
117            android:clearTaskOnLaunch="true"
118            android:multiprocess="true"
119        />
120        <activity android:name=".NfcRootActivity"
121            android:theme="@*android:style/Theme.Translucent.NoTitleBar"
122            android:excludeFromRecents="true"
123            android:noHistory="true"
124        />
125        <activity android:name=".handover.ConfirmConnectActivity"
126            android:finishOnCloseSystemDialogs="true"
127            android:excludeFromRecents="true"
128            android:theme="@android:style/Theme.Translucent.NoTitleBar"
129            android:noHistory="true"
130            android:configChanges="orientation|keyboardHidden|screenSize"
131        />
132        <activity android:name=".ConfirmConnectToWifiNetworkActivity"
133            android:finishOnCloseSystemDialogs="true"
134            android:excludeFromRecents="true"
135            android:theme="@android:style/Theme.Translucent.NoTitleBar"
136            android:noHistory="true"
137        />
138        <activity android:name=".NfcEnableAllowlistActivity"
139            android:theme="@android:style/Theme.Translucent.NoTitleBar"
140            android:noHistory="true"
141        />
142
143        <receiver android:name=".NfcBootCompletedReceiver"
144            android:exported="true">
145            <intent-filter>
146                <action android:name="android.intent.action.BOOT_COMPLETED" />
147            </intent-filter>
148        </receiver>
149
150        <service android:name=".handover.PeripheralHandoverService"
151        />
152    </application>
153</manifest>
154