1<?xml version="1.0" encoding="utf-8"?> 2 3<!-- 4 ~ Copyright (C) 2022 The Android Open Source Project 5 ~ 6 ~ Licensed under the Apache License, Version 2.0 (the "License"); 7 ~ you may not use this file except in compliance with the License. 8 ~ You may obtain a copy of the License at 9 ~ 10 ~ http://www.apache.org/licenses/LICENSE-2.0 11 ~ 12 ~ Unless required by applicable law or agreed to in writing, software 13 ~ distributed under the License is distributed on an "AS IS" BASIS, 14 ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 ~ See the License for the specific language governing permissions and 16 ~ limitations under the License. 17 --> 18 19<manifest xmlns:android="http://schemas.android.com/apk/res/android" 20 package="com.android.DevicePolicyManagerRoleHolder" android:targetSandboxVersion="2"> 21 <uses-permission android:name="android.permission.BIND_DEVICE_ADMIN" /> 22 <uses-permission android:name="android.permission.MANAGE_DEVICE_ADMINS" /> 23 <uses-permission android:name="android.permission.NETWORK_MANAGED_PROVISIONING" /> 24 <uses-permission android:name="android.permission.PEERS_MAC_ADDRESS" /> 25 <uses-permission android:name="android.permission.USE_COLORIZED_NOTIFICATIONS" /> 26 <uses-permission android:name="android.permission.MASTER_CLEAR" /> 27 <uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" /> 28 <uses-permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE" /> 29 <uses-permission android:name="android.permission.START_ACTIVITIES_FROM_BACKGROUND" /> 30 <uses-permission android:name="android.permission.START_FOREGROUND_SERVICES_FROM_BACKGROUND" /> 31 <uses-permission android:name="android.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS" /> 32 <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS" /> 33 <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" /> 34 <uses-permission android:name="com.android.permission.INSTALL_EXISTING_PACKAGES" /> 35 <uses-permission android:name="android.permission.DELETE_PACKAGES" /> 36 <uses-permission android:name="android.permission.ACCESS_PDB_STATE" /> 37 <uses-permission android:name="android.permission.MARK_DEVICE_ORGANIZATION_OWNED" /> 38 <uses-permission android:name="android.permission.CHANGE_COMPONENT_ENABLED_STATE" /> 39 <uses-permission android:name="android.permission.SET_TIME" /> 40 <uses-permission android:name="android.permission.SET_TIME_ZONE" /> 41 <uses-permission android:name="android.permission.CRYPT_KEEPER" /> 42 <uses-permission android:name="android.permission.SHUTDOWN" /> 43 <uses-permission android:name="android.permission.PERFORM_CDMA_PROVISIONING" /> 44 <uses-permission android:name="android.permission.CONFIGURE_INTERACT_ACROSS_PROFILES" /> 45 <uses-permission android:name="android.permission.WRITE_SETTINGS" /> 46 <uses-permission android:name="android.permission.CHANGE_CONFIGURATION" /> 47 <uses-permission android:name="android.permission.LAUNCH_DEVICE_MANAGER_SETUP" /> 48 <uses-permission android:name="android.permission.INSTALL_DPC_PACKAGES" /> 49 <uses-permission android:name="android.permission.QUERY_USERS" /> 50 <uses-permission android:name="android.permission.UPDATE_DEVICE_MANAGEMENT_RESOURCES" /> 51 <uses-permission android:name="android.permission.QUERY_ADMIN_POLICY" /> 52 <uses-permission android:name="android.permission.TRIGGER_LOST_MODE" /> 53 <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_APP_EXEMPTIONS" /> 54 <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_ACCOUNT_MANAGEMENT" /> 55 <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_AIRPLANE_MODE" /> 56 <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_CAMERA" /> 57 <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_CERTIFICATES" /> 58 <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_COMMON_CRITERIA_MODE" /> 59 <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_DEFAULT_SMS" /> 60 <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_FACTORY_RESET" /> 61 <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_INPUT_METHODS" /> 62 <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_INSTALL_UNKNOWN_SOURCES" /> 63 <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_KEYGUARD" /> 64 <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_LOCK" /> 65 <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_LOCK_CREDENTIALS" /> 66 <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_MOBILE_NETWORK" /> 67 <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_MTE" /> 68 <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_PACKAGE_STATE" /> 69 <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_PROFILES" /> 70 <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_RESTRICT_PRIVATE_DNS" /> 71 <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_SCREEN_CAPTURE" /> 72 <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_SECURITY_LOGGING" /> 73 <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_AUDIT_LOGGING" /> 74 <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_SUSPEND_PERSONAL_APPS" /> 75 <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_SYSTEM_UPDATES" /> 76 <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_TIME" /> 77 <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_USB_DATA_SIGNALLING" /> 78 <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_WIFI" /> 79 <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_WIPE_DATA" /> 80 <uses-permission android:name="android.permission.SET_TIME" /> 81 <uses-permission android:name="android.permission.SET_TIME_ZONE" /> 82 <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_DEBUGGING_FEATURES" /> 83 <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_MODIFY_USERS" /> 84 <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_SAFE_BOOT" /> 85 <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_MICROPHONE" /> 86 <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_USB_FILE_TRANSFER" /> 87 <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_CONTENT_PROTECTION" /> 88 <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_QUERY_SYSTEM_UPDATES" /> 89 <uses-permission android:name="android.permission.QUERY_DEVICE_STOLEN_STATE" /> 90 91 <application 92 android:label="DevicePolicyManagerRoleHolder" android:testOnly="true"> 93 <!-- Don't allow this test app to be returned by queries unless filtered by package name --> 94 <meta-data android:name="testapp-package-query-only" android:value="true" /> 95 96 <activity android:name=".provision_managed_device_from_trusted_source" android:exported="true" android:permission="android.permission.LAUNCH_DEVICE_MANAGER_SETUP"> 97 <intent-filter> 98 <action android:name="android.app.action.ROLE_HOLDER_PROVISION_MANAGED_DEVICE_FROM_TRUSTED_SOURCE" /> 99 <category android:name="android.intent.category.DEFAULT" /> 100 </intent-filter> 101 </activity> 102 <activity android:name=".role_holder_provision_managed_profile" android:exported="true" android:permission="android.permission.LAUNCH_DEVICE_MANAGER_SETUP"> 103 <intent-filter> 104 <action android:name="android.app.action.ROLE_HOLDER_PROVISION_MANAGED_PROFILE" /> 105 <category android:name="android.intent.category.DEFAULT" /> 106 </intent-filter> 107 </activity> 108 <activity android:name=".role_holder_provision_finalization" android:exported="true" android:permission="android.permission.LAUNCH_DEVICE_MANAGER_SETUP"> 109 <intent-filter> 110 <action android:name="android.app.action.ROLE_HOLDER_PROVISION_FINALIZATION" /> 111 <category android:name="android.intent.category.DEFAULT" /> 112 </intent-filter> 113 </activity> 114 115 <receiver android:name=".RoleHolderReceiver" android:exported="true"> 116 <intent-filter> 117 <action android:name="android.intent.action.MANAGED_PROFILE_REMOVED" /> 118 <action android:name="android.intent.action.MANAGED_PROFILE_AVAILABLE" /> 119 <action android:name="android.intent.action.MANAGED_PROFILE_UNAVAILABLE" /> 120 </intent-filter> 121 </receiver> 122 123 <receiver android:name=".FinancedDeviceStateReceiver" android:exported="true"> 124 <intent-filter> 125 <action android:name="android.app.admin.action.DEVICE_FINANCING_STATE_CHANGED" /> 126 </intent-filter> 127 </receiver> 128 129 <!-- Ideally it's not required for role holder to act as a dpc, but its required for 130 some of our ManagedSubscriptionsPolicy test, adding this receiver only for this reason.--> 131 <receiver android:name=".DeviceAdminReceiver" 132 android:permission="android.permission.BIND_DEVICE_ADMIN" 133 android:exported="true"> 134 <meta-data android:name="android.app.device_admin" 135 android:resource="@xml/device_admin"/> 136 <intent-filter> 137 <action android:name="android.app.action.DEVICE_ADMIN_ENABLED"/> 138 <action android:name="android.app.action.NOTIFY_PENDING_SYSTEM_UPDATE"/> 139 </intent-filter> 140 </receiver> 141 142 </application> 143</manifest>