1<!-- 2** 3** Copyright 2014, 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<manifest xmlns:android="http://schemas.android.com/apk/res/android" 19 package="com.android.managedprovisioning" > 20 21 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 22 <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 23 <uses-permission android:name="android.permission.MANAGE_USERS" /> 24 <uses-permission android:name="android.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS" /> 25 <uses-permission android:name="android.permission.GET_ACCOUNTS" /> 26 <uses-permission android:name="android.permission.MANAGE_ACCOUNTS" /> 27 <uses-permission android:name="android.permission.INSTALL_PACKAGES"/> 28 <uses-permission android:name="android.permission.DELETE_PACKAGES"/> 29 <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS" /> 30 <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" /> 31 <uses-permission android:name="android.permission.BIND_DEVICE_ADMIN" /> 32 <uses-permission android:name="android.permission.MANAGE_DEVICE_ADMINS" /> 33 <uses-permission android:name="android.permission.MANAGE_CA_CERTIFICATES" /> 34 35 <uses-permission android:name="android.permission.CHANGE_COMPONENT_ENABLED_STATE" /> 36 <uses-permission android:name="android.permission.CHANGE_CONFIGURATION" /> 37 <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> 38 39 <uses-permission android:name="android.permission.CONNECTIVITY_INTERNAL" /> 40 <uses-permission android:name="android.permission.INTERNET" /> 41 <uses-permission android:name="android.permission.MASTER_CLEAR" /> 42 <uses-permission android:name="android.permission.NFC" /> 43 <uses-permission android:name="android.permission.SET_TIME" /> 44 <uses-permission android:name="android.permission.SET_TIME_ZONE" /> 45 46 <uses-permission android:name="android.permission.CRYPT_KEEPER" /> 47 <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> 48 <uses-permission android:name="android.permission.SHUTDOWN" /> 49 50 <uses-permission android:name="android.permission.WRITE_SETTINGS" /> 51 <uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" /> 52 53 <uses-permission android:name="android.permission.PERFORM_CDMA_PROVISIONING" /> 54 <uses-permission android:name="android.permission.ACCESS_PDB_STATE" /> 55 56 <application 57 android:allowClearUserData="false" 58 android:hardwareAccelerated="true" 59 android:usesCleartextTraffic="true" 60 android:supportsRtl="true"> 61 62 <!-- 63 Note: Setup activities are android:immersive to prevent full-screen notifications (USB 64 mass storage; incoming calls) from taking over. Note that high-priority notifications 65 (phone calls) will still pop up a small window that can be activated. 66 --> 67 <activity 68 android:name="DeviceOwnerPreProvisioningActivity" 69 android:excludeFromRecents="true" 70 android:immersive="true" 71 android:launchMode="singleTop" 72 android:theme="@style/SetupWorkSpaceTheme"> 73 <intent-filter android:priority="10"> 74 <action android:name="android.app.action.PROVISION_MANAGED_DEVICE" /> 75 <action android:name="com.android.managedprovisioning.ACTION_PROVISION_MANAGED_DEVICE" /> 76 <category android:name="android.intent.category.DEFAULT" /> 77 </intent-filter> 78 </activity> 79 <!-- 80 Nfc bump entry for device owner provisioning, protected by a permission so only the Nfc 81 stack can trigger this. 82 --> 83 <activity-alias 84 android:name="DeviceOwnerPreProvisioningActivityViaNfc" 85 android:targetActivity="DeviceOwnerPreProvisioningActivity" 86 android:permission="android.permission.DISPATCH_NFC_MESSAGE" 87 android:exported="true"> 88 <intent-filter android:priority="10"> 89 <action android:name="android.nfc.action.NDEF_DISCOVERED" /> 90 <category android:name="android.intent.category.DEFAULT" /> 91 <data android:mimeType="application/com.android.managedprovisioning" /> 92 <data android:mimeType="application/com.android.managedprovisioning.v2"/> 93 </intent-filter> 94 </activity-alias> 95 96 <activity 97 android:name="DeviceOwnerProvisioningActivity" 98 android:excludeFromRecents="true" 99 android:immersive="true" 100 android:launchMode="singleTop" 101 android:theme="@style/SetupWorkSpaceTheme"> 102 </activity> 103 <activity 104 android:name="ProfileOwnerPreProvisioningActivity" 105 android:excludeFromRecents="true" 106 android:immersive="true" 107 android:launchMode="singleTop" 108 android:theme="@style/SetupWorkSpaceTheme"> 109 <intent-filter android:priority="10"> 110 <action android:name="android.app.action.PROVISION_MANAGED_PROFILE" /> 111 <category android:name="android.intent.category.DEFAULT" /> 112 </intent-filter> 113 </activity> 114 <activity 115 android:name="ProfileOwnerProvisioningActivity" 116 android:excludeFromRecents="true" 117 android:immersive="true" 118 android:launchMode="singleTop" 119 android:theme="@style/SetupWorkSpaceTheme"> 120 </activity> 121 <activity-alias 122 android:name="ProfileOwnerProvisioningActivityNoCallerCheck" 123 android:targetActivity="ProfileOwnerPreProvisioningActivity" 124 android:permission="android.permission.MANAGE_USERS" 125 android:exported="true"> 126 </activity-alias> 127 <activity 128 android:name="EncryptDeviceActivity" 129 android:immersive="true" 130 android:launchMode="singleTop" 131 android:theme="@style/SetupWorkSpaceTheme"> 132 </activity> 133 134 <activity 135 android:name="WebActivity" 136 android:immersive="true" 137 android:launchMode="singleTop" 138 android:theme="@style/SetupWorkSpaceTheme"> 139 </activity> 140 141 <activity 142 android:name=".TrampolineActivity" 143 android:theme="@android:style/Theme.NoDisplay" 144 android:excludeFromRecents="true"> 145 </activity> 146 147 <service 148 android:name="ProfileOwnerProvisioningService" > 149 </service> 150 <service 151 android:name="DeviceOwnerProvisioningService" > 152 </service> 153 154 <receiver android:name="com.android.managedprovisioning.BootReminder"> 155 <intent-filter> 156 <action android:name="android.intent.action.BOOT_COMPLETED" /> 157 </intent-filter> 158 </receiver> 159 160 <receiver android:name="com.android.managedprovisioning.PreBootListener"> 161 <intent-filter> 162 <action android:name="android.intent.action.PRE_BOOT_COMPLETED" /> 163 </intent-filter> 164 </receiver> 165 166 <activity android:name="com.android.managedprovisioning.HomeReceiverActivity" 167 android:theme="@android:style/Theme.NoDisplay" 168 android:noHistory="true" 169 android:excludeFromRecents="true" 170 android:enabled="false"> 171 <intent-filter android:priority="2"> 172 <action android:name="android.intent.action.MAIN" /> 173 <category android:name="android.intent.category.HOME" /> 174 <category android:name="android.intent.category.DEFAULT" /> 175 </intent-filter> 176 </activity> 177 178 <receiver android:name=".UserInitializedReceiver" > 179 <intent-filter> 180 <action android:name="android.intent.action.USER_INITIALIZE" /> 181 </intent-filter> 182 </receiver> 183 184 <!-- These 2 receivers, along with the CertService, handle installing CA certs for 185 secondary users. On initialization of secondary users, a broadcast 186 (InstallCertRequestReceiver) is sent to the primary user to request the CA certs. The 187 primary user responds, via CertService, with a broadcast (InstallCertReceiver) 188 containing the CA certs, which are then installed for the secondary user. --> 189 <receiver android:name=".InstallCertRequestReceiver" 190 android:exported="false"> 191 <intent-filter> 192 <action android:name="com.android.managedprovisioning.REQUEST_CERT_ACTION" /> 193 </intent-filter> 194 </receiver> 195 <receiver android:name=".InstallCertReceiver" 196 android:exported="false"> 197 <intent-filter> 198 <action android:name="com.android.managedprovisioning.INSTALL_CERT_ACTION" /> 199 </intent-filter> 200 </receiver> 201 202 <service android:name=".CertService" 203 android:exported = "false"/> 204 205 </application> 206</manifest> 207