297 lines
13 KiB
XML
297 lines
13 KiB
XML
<!--
|
|
**
|
|
** 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" >
|
|
|
|
<permission
|
|
android:name="android.permission.PROVISION_MANAGED_DEVICE_SILENTLY"
|
|
android:protectionLevel="signature|preinstalled" />
|
|
|
|
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
|
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
|
|
<uses-permission android:name="android.permission.MANAGE_USERS" />
|
|
<uses-permission android:name="android.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS" />
|
|
<uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
|
|
<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" />
|
|
<uses-permission android:name="android.permission.BIND_DEVICE_ADMIN" />
|
|
<uses-permission android:name="android.permission.MANAGE_DEVICE_ADMINS" />
|
|
<uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
|
|
<uses-permission android:name="android.permission.MANAGE_APP_OPS_MODES"/>
|
|
<uses-permission android:name="android.permission.HIDE_NON_SYSTEM_OVERLAY_WINDOWS"/>
|
|
|
|
<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.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" />
|
|
|
|
<uses-permission android:name="android.permission.CRYPT_KEEPER" />
|
|
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
|
|
<uses-permission android:name="android.permission.SHUTDOWN" />
|
|
|
|
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
|
|
<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />
|
|
|
|
<uses-permission android:name="android.permission.PERFORM_CDMA_PROVISIONING" />
|
|
<uses-permission android:name="android.permission.ACCESS_PDB_STATE" />
|
|
<uses-permission android:name="android.permission.PEERS_MAC_ADDRESS" />
|
|
|
|
<uses-permission android:name="android.permission.NETWORK_MANAGED_PROVISIONING" />
|
|
|
|
<uses-permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE" />
|
|
<uses-permission android:name="android.permission.MARK_DEVICE_ORGANIZATION_OWNED" />
|
|
|
|
<!-- To set the bg color of the deferred setup notification (without a foreground service) -->
|
|
<uses-permission android:name="android.permission.USE_COLORIZED_NOTIFICATIONS" />
|
|
|
|
<uses-permission android:name="android.permission.START_ACTIVITIES_FROM_BACKGROUND" />
|
|
|
|
<!-- Required by setup design library -->
|
|
<uses-permission android:name="com.google.android.setupwizard.SETUP_COMPAT_SERVICE" />
|
|
|
|
<uses-permission android:name="android.permission.CONFIGURE_INTERACT_ACROSS_PROFILES" />
|
|
|
|
<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" />
|
|
|
|
<uses-permission android:name="android.permission.START_FOREGROUND_SERVICES_FROM_BACKGROUND"/>
|
|
|
|
<application
|
|
android:label="@string/app_label"
|
|
android:allowClearUserData="false"
|
|
android:hardwareAccelerated="true"
|
|
android:usesCleartextTraffic="true"
|
|
android:supportsRtl="true"
|
|
android:name=".ManagedProvisioningApplication">
|
|
|
|
<!--
|
|
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.
|
|
-->
|
|
<activity
|
|
android:name=".provisioning.ProvisioningActivity"
|
|
android:excludeFromRecents="true"
|
|
android:immersive="true"
|
|
android:launchMode="singleTop"
|
|
android:theme="@style/SudThemeGlifV3.DayNight">
|
|
</activity>
|
|
|
|
<activity
|
|
android:name=".provisioning.AdminIntegratedFlowPrepareActivity"
|
|
android:excludeFromRecents="true"
|
|
android:immersive="true"
|
|
android:launchMode="singleTop"
|
|
android:theme="@style/SudThemeGlifV3.DayNight">
|
|
</activity>
|
|
|
|
<activity
|
|
android:name=".preprovisioning.PreProvisioningActivity"
|
|
android:excludeFromRecents="true"
|
|
android:immersive="true"
|
|
android:launchMode="singleTop"
|
|
android:exported="true"
|
|
android:theme="@style/SudThemeGlifV3.DayNight">
|
|
<intent-filter android:priority="10">
|
|
<action android:name="android.app.action.PROVISION_MANAGED_PROFILE" />
|
|
<action android:name="android.app.action.PROVISION_MANAGED_DEVICE" />
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
</intent-filter>
|
|
</activity>
|
|
|
|
<activity
|
|
android:name=".provisioning.ResetAndReturnDeviceActivity"
|
|
android:excludeFromRecents="true"
|
|
android:immersive="true"
|
|
android:theme="@style/SudThemeGlifV3.Light"/>
|
|
|
|
<!--
|
|
Nfc bump entry for device owner provisioning, protected by a permission so only the Nfc
|
|
stack can trigger this.
|
|
-->
|
|
<activity-alias
|
|
android:name=".PreProvisioningActivityViaNfc"
|
|
android:targetActivity=".preprovisioning.PreProvisioningActivity"
|
|
android:permission="android.permission.DISPATCH_NFC_MESSAGE"
|
|
android:exported="true">
|
|
<intent-filter android:priority="10">
|
|
<action android:name="android.nfc.action.NDEF_DISCOVERED" />
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
<data android:mimeType="application/com.android.managedprovisioning" />
|
|
</intent-filter>
|
|
</activity-alias>
|
|
<!--
|
|
Trusted app entry for device owner provisioning, protected by a permission so only
|
|
privileged app can trigger this.
|
|
-->
|
|
<activity-alias
|
|
android:name=".PreProvisioningActivityViaTrustedApp"
|
|
android:targetActivity=".preprovisioning.PreProvisioningActivity"
|
|
android:permission="android.permission.DISPATCH_PROVISIONING_MESSAGE"
|
|
android:exported="true">
|
|
<intent-filter android:priority="10">
|
|
<action
|
|
android:name="android.app.action.PROVISION_MANAGED_DEVICE_FROM_TRUSTED_SOURCE"
|
|
/>
|
|
<action
|
|
android:name="android.app.action.PROVISION_FINANCED_DEVICE"
|
|
/>
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
</intent-filter>
|
|
</activity-alias>
|
|
<!-- Entry to resume encryption after reboot. -->
|
|
<activity-alias
|
|
android:name=".PreProvisioningActivityAfterEncryption"
|
|
android:targetActivity=".preprovisioning.PreProvisioningActivity"
|
|
android:exported="false">
|
|
<intent-filter android:priority="10">
|
|
<action
|
|
android:name="com.android.managedprovisioning.action.RESUME_PROVISIONING"
|
|
/>
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
</intent-filter>
|
|
</activity-alias>
|
|
<activity
|
|
android:name=".preprovisioning.terms.TermsActivity"
|
|
android:excludeFromRecents="true"
|
|
android:immersive="true"
|
|
android:launchMode="singleTop"
|
|
android:theme="@style/SudThemeGlifV3.DayNight"/>
|
|
<activity
|
|
android:name=".preprovisioning.EncryptDeviceActivity"
|
|
android:immersive="true"
|
|
android:launchMode="singleTop">
|
|
</activity>
|
|
<!--
|
|
Entry point for silent device owner provisioning.
|
|
-->
|
|
<service
|
|
android:name=".provisioning.SilentDeviceOwnerProvisioningService">
|
|
</service>
|
|
<receiver android:name=".provisioning.SilentDeviceOwnerProvisioningReceiver"
|
|
android:exported="true"
|
|
android:permission="android.permission.PROVISION_MANAGED_DEVICE_SILENTLY">
|
|
<intent-filter android:priority="10">
|
|
<action android:name="android.app.action.PROVISION_MANAGED_DEVICE_SILENTLY" />
|
|
</intent-filter>
|
|
</receiver>
|
|
|
|
<activity
|
|
android:name=".preprovisioning.WebActivity"
|
|
android:immersive="true"
|
|
android:launchMode="singleTop"
|
|
android:theme="@style/SudThemeGlifV3.DayNight"
|
|
android:process=":webview">
|
|
</activity>
|
|
|
|
<activity
|
|
android:name=".TrampolineActivity"
|
|
android:theme="@android:style/Theme.NoDisplay"
|
|
android:excludeFromRecents="true">
|
|
</activity>
|
|
|
|
<!--
|
|
When PostEncryptionActivity is disabled, its entire task is going to get killed.
|
|
So, we explicitly specify a taskAffinity for this instead of a package default to make
|
|
sure it starts in a new task.
|
|
-->
|
|
<activity android:name=".preprovisioning.PostEncryptionActivity"
|
|
android:theme="@android:style/Theme.NoDisplay"
|
|
android:noHistory="true"
|
|
android:excludeFromRecents="true"
|
|
android:enabled="false"
|
|
android:exported="true"
|
|
android:taskAffinity=":PostEncryptionActivity">
|
|
<intent-filter android:priority="10">
|
|
<action android:name="android.intent.action.MAIN" />
|
|
<category android:name="android.intent.category.HOME" />
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
</intent-filter>
|
|
</activity>
|
|
|
|
<service android:name=".provisioning.ProvisioningService" />
|
|
<service android:name=".finalization.SendDpcBroadcastService" />
|
|
<service android:name=".ota.OtaService" />
|
|
|
|
<receiver android:name="com.android.managedprovisioning.BootReminder"
|
|
android:exported="true">
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.BOOT_COMPLETED" />
|
|
</intent-filter>
|
|
</receiver>
|
|
|
|
<receiver android:name="com.android.managedprovisioning.ota.PreBootListener"
|
|
android:exported="true">
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.PRE_BOOT_COMPLETED" />
|
|
</intent-filter>
|
|
</receiver>
|
|
|
|
<receiver android:name="com.android.managedprovisioning.manageduser.ManagedUserCreationListener"
|
|
android:exported="true">
|
|
<intent-filter>
|
|
<action android:name="android.app.action.MANAGED_USER_CREATED" />
|
|
</intent-filter>
|
|
</receiver>
|
|
|
|
<receiver
|
|
android:name="com.android.managedprovisioning.manageduser.ManagedUserRemovalListener"
|
|
android:exported="true">
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.USER_REMOVED" />
|
|
</intent-filter>
|
|
</receiver>
|
|
|
|
<!-- TODO (b/146135268): Add permission for setup-wizard to guard access? -->
|
|
<activity android:name=".finalization.FinalizationInsideSuwActivity"
|
|
android:excludeFromRecents="true"
|
|
android:exported="true"
|
|
android:immersive="true"
|
|
android:launchMode="singleTop"
|
|
android:theme="@style/SudThemeGlifV3.DayNight">
|
|
<intent-filter>
|
|
<!-- TODO (b/177666246): Remove PROVISION_FINALIZATION_INSIDE_SUW
|
|
after the setup wizard change which calls PROVISION_FINALIZATION is in prebuilt -->
|
|
<action android:name="android.app.action.PROVISION_FINALIZATION_INSIDE_SUW" />
|
|
<action android:name="android.app.action.PROVISION_FINALIZATION" />
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
</intent-filter>
|
|
</activity>
|
|
|
|
<activity
|
|
android:name=".provisioning.LandingActivity"
|
|
android:theme="@style/SudThemeGlifV3.DayNight"
|
|
android:immersive="true" />
|
|
|
|
<activity
|
|
android:name=".provisioning.FinancedDeviceLandingActivity"
|
|
android:theme="@style/SudThemeGlifV3.DayNight"
|
|
android:immersive="true" />
|
|
|
|
<service
|
|
android:name=".analytics.ProcessMetricsJobService"
|
|
android:permission="android.permission.BIND_JOB_SERVICE"/>
|
|
</application>
|
|
</manifest>
|