AndroidManifest.xml 9.06 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
<!--
**
** Copyright 2014, The Android Open Source Project
**
** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License.
** You may obtain a copy of the License at
**
**     http://www.apache.org/licenses/LICENSE-2.0
**
** Unless required by applicable law or agreed to in writing, software
** distributed under the License is distributed on an "AS IS" BASIS,
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
** See the License for the specific language governing permissions and
** limitations under the License.
*/
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.android.managedprovisioning" >

21 22
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
Craig Lafayette's avatar
Craig Lafayette committed
23 24
    <uses-permission android:name="android.permission.BLUETOOTH" />
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
25
    <uses-permission android:name="android.permission.MANAGE_USERS" />
26
    <uses-permission android:name="android.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS" />
27 28
    <uses-permission android:name="android.permission.GET_ACCOUNTS" />
    <uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
29 30 31 32
    <uses-permission android:name="android.permission.INSTALL_PACKAGES"/>
    <uses-permission android:name="android.permission.DELETE_PACKAGES"/>
    <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS" />
    <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" />
33 34 35
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.BIND_DEVICE_ADMIN" />
    <uses-permission android:name="android.permission.MANAGE_DEVICE_ADMINS" />
36
    <uses-permission android:name="android.permission.MANAGE_CA_CERTIFICATES" />
37 38 39 40 41 42 43 44 45 46 47 48

    <uses-permission android:name="android.permission.CHANGE_COMPONENT_ENABLED_STATE" />
    <uses-permission android:name="android.permission.CHANGE_CONFIGURATION" />
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />

    <uses-permission android:name="android.permission.CONNECTIVITY_INTERNAL" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.MASTER_CLEAR" />
    <uses-permission android:name="android.permission.NFC" />
    <uses-permission android:name="android.permission.SET_TIME" />
    <uses-permission android:name="android.permission.SET_TIME_ZONE" />

49 50 51 52
    <uses-permission android:name="android.permission.CRYPT_KEEPER" />
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
    <uses-permission android:name="android.permission.SHUTDOWN" />

53
    <uses-permission android:name="android.permission.WRITE_SETTINGS" />
54
    <uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />
55

56
    <uses-permission android:name="android.permission.PERFORM_CDMA_PROVISIONING" />
57
    <uses-permission android:name="android.permission.ACCESS_PDB_STATE" />
Craig Lafayette's avatar
Craig Lafayette committed
58 59
    <!-- Allows receiving of status updates sent by device initializer. -->
    <uses-permission android:name="android.permission.RECEIVE_DEVICE_INITIALIZER_STATUS" />
60

61 62
    <application
        android:allowClearUserData="false"
63
        android:hardwareAccelerated="true"
64
        android:usesCleartextTraffic="true">
65 66 67 68 69 70

        <!--
             Note: Setup activities are android:immersive to prevent full-screen notifications (USB
            mass storage; incoming calls) from taking over. Note that high-priority notifications
            (phone calls) will still pop up a small window that can be activated.
        -->
71
        <activity
72
            android:name="DeviceOwnerPreProvisioningActivity"
73 74 75
            android:excludeFromRecents="true"
            android:immersive="true"
            android:launchMode="singleTop"
76
            android:theme="@style/SetupWorkSpaceTheme">
77
            <intent-filter android:priority="10">
78 79 80
                <action android:name="android.nfc.action.NDEF_DISCOVERED" />
                <category android:name="android.intent.category.DEFAULT" />
                <data android:mimeType="application/com.android.managedprovisioning" />
81
                <data android:mimeType="application/com.android.managedprovisioning.v2"/>
82
            </intent-filter>
83
            <intent-filter android:priority="10">
84
                <action android:name="android.app.action.PROVISION_MANAGED_DEVICE" />
85 86 87
                <action android:name="com.android.managedprovisioning.ACTION_PROVISION_MANAGED_DEVICE" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
88
        </activity>
89 90 91 92 93 94 95
        <activity
             android:name="DeviceOwnerProvisioningActivity"
             android:excludeFromRecents="true"
             android:immersive="true"
             android:launchMode="singleTop"
             android:theme="@style/SetupWorkSpaceTheme">
        </activity>
96
        <activity
97
            android:name="ProfileOwnerPreProvisioningActivity"
98 99 100
            android:excludeFromRecents="true"
            android:immersive="true"
            android:launchMode="singleTop"
101
            android:theme="@style/SetupWorkSpaceTheme">
102
            <intent-filter android:priority="10">
103
                <action android:name="android.app.action.PROVISION_MANAGED_PROFILE" />
104 105
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
106
        </activity>
107
        <activity
108
            android:name="ProfileOwnerProvisioningActivity"
109 110 111 112 113
            android:excludeFromRecents="true"
            android:immersive="true"
            android:launchMode="singleTop"
            android:theme="@style/SetupWorkSpaceTheme">
        </activity>
114
        <activity-alias
115
            android:name="ProfileOwnerProvisioningActivityNoCallerCheck"
116
            android:targetActivity="ProfileOwnerPreProvisioningActivity"
117 118 119
            android:permission="android.permission.MANAGE_USERS"
            android:exported="true">
        </activity-alias>
120 121 122 123
        <activity
            android:name="EncryptDeviceActivity"
            android:immersive="true"
            android:launchMode="singleTop"
124
            android:theme="@style/SetupWorkSpaceTheme">
125 126
        </activity>

127 128 129 130
        <activity
            android:name="WebActivity"
            android:immersive="true"
            android:launchMode="singleTop"
131
            android:theme="@style/SetupWorkSpaceTheme">
132 133
        </activity>

134
        <service
135
            android:name="ProfileOwnerProvisioningService" >
136
        </service>
137 138 139
        <service
            android:name="DeviceOwnerProvisioningService" >
        </service>
140 141 142 143

        <receiver android:name="com.android.managedprovisioning.BootReminder">
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED" />
144 145 146
            </intent-filter>
        </receiver>

147
        <receiver android:name="com.android.managedprovisioning.PreBootListener">
148 149
            <intent-filter>
                <action android:name="android.intent.action.PRE_BOOT_COMPLETED" />
150 151
            </intent-filter>
        </receiver>
152

153 154 155 156 157 158 159 160 161 162 163 164
        <activity android:name="com.android.managedprovisioning.HomeReceiverActivity"
                  android:theme="@android:style/Theme.NoDisplay"
                  android:noHistory="true"
                  android:excludeFromRecents="true"
                  android:enabled="false">
            <intent-filter android:priority="2">
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.HOME" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>

165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191
        <receiver android:name=".UserInitializedReceiver" >
            <intent-filter>
                <action android:name="android.intent.action.USER_INITIALIZE" />
            </intent-filter>
        </receiver>

        <!-- These 2 receivers, along with the CertService, handle installing CA certs for
             secondary users. On initialization of secondary users, a broadcast
             (InstallCertRequestReceiver) is sent to the primary user to request the CA certs. The
             primary user responds, via CertService, with a broadcast (InstallCertReceiver)
             containing the CA certs, which are then installed for the secondary user. -->
        <receiver android:name=".InstallCertRequestReceiver"
                  android:exported="false">
            <intent-filter>
                <action android:name="com.android.managedprovisioning.REQUEST_CERT_ACTION" />
            </intent-filter>
        </receiver>
        <receiver android:name=".InstallCertReceiver"
                  android:exported="false">
            <intent-filter>
                <action android:name="com.android.managedprovisioning.INSTALL_CERT_ACTION" />
            </intent-filter>
        </receiver>

        <service android:name=".CertService"
                 android:exported = "false"/>

192
    </application>
193
</manifest>