• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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