| <!-- |
| ** |
| ** 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.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" /> |
| |
| <application |
| android:label="@string/app_label" |
| android:allowClearUserData="false" |
| android:hardwareAccelerated="true" |
| android:usesCleartextTraffic="true" |
| android:supportsRtl="true"> |
| |
| <!-- |
| 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.Light"> |
| </activity> |
| |
| <activity |
| android:name=".provisioning.AdminIntegratedFlowPrepareActivity" |
| android:excludeFromRecents="true" |
| android:immersive="true" |
| android:launchMode="singleTop" |
| android:theme="@style/SudThemeGlifV3.Light"> |
| </activity> |
| |
| <activity |
| android:name=".preprovisioning.PreProvisioningActivity" |
| android:excludeFromRecents="true" |
| android:immersive="true" |
| android:launchMode="singleTop" |
| android:theme="@style/SudThemeGlifV3.Light"> |
| <intent-filter android:priority="10"> |
| <action android:name="android.app.action.PROVISION_MANAGED_PROFILE" /> |
| <action android:name="android.app.action.PROVISION_MANAGED_USER" /> |
| <action android:name="android.app.action.PROVISION_MANAGED_DEVICE" /> |
| <action android:name="android.app.action.PROVISION_MANAGED_SHAREABLE_DEVICE" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| </intent-filter> |
| </activity> |
| <!-- |
| 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/NonGlifTheme"/> |
| <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: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/NonGlifTheme" |
| 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: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> |
| |
| <activity |
| android:name=".transition.TransitionActivity" |
| android:theme="@style/SudThemeGlifV3.Light" |
| android:immersive="true"/> |
| |
| <service android:name=".provisioning.ProvisioningService" /> |
| <service android:name=".finalization.SendDpcBroadcastService" /> |
| <service android:name=".ota.OtaService" /> |
| |
| <receiver android:name="com.android.managedprovisioning.BootReminder"> |
| <intent-filter> |
| <action android:name="android.intent.action.BOOT_COMPLETED" /> |
| </intent-filter> |
| </receiver> |
| |
| <receiver android:name="com.android.managedprovisioning.ota.PreBootListener"> |
| <intent-filter> |
| <action android:name="android.intent.action.PRE_BOOT_COMPLETED" /> |
| </intent-filter> |
| </receiver> |
| |
| <receiver android:name="com.android.managedprovisioning.manageduser.ManagedUserCreationListener"> |
| <intent-filter> |
| <action android:name="android.app.action.MANAGED_USER_CREATED" /> |
| </intent-filter> |
| </receiver> |
| |
| <receiver android:name="com.android.managedprovisioning.task.CrossProfileIntentFiltersSetter$RestrictionChangedReceiver"> |
| <intent-filter> |
| <action android:name="android.app.action.DATA_SHARING_RESTRICTION_CHANGED" /> |
| </intent-filter> |
| </receiver> |
| |
| <!-- TODO (b/146135268): Add permission for setup-wizard to guard access? --> |
| <activity android:name=".finalization.FinalizationPostSuwActivity" |
| android:theme="@style/SudThemeGlifV3.Light" |
| android:noHistory="true" |
| android:excludeFromRecents="true" |
| android:exported="true" |
| android:immersive="true"> |
| <intent-filter> |
| <action android:name="android.app.action.PROVISION_FINALIZATION" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| </intent-filter> |
| </activity> |
| |
| <!-- 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.Light"> |
| <intent-filter> |
| <action android:name="android.app.action.PROVISION_FINALIZATION_INSIDE_SUW" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| </intent-filter> |
| </activity> |
| |
| <activity |
| android:name=".provisioning.LandingActivity" |
| android:theme="@style/SudThemeGlifV3.Light" |
| android:immersive="true" /> |
| |
| <activity |
| android:name=".provisioning.FinancedDeviceLandingActivity" |
| android:theme="@style/SudThemeGlifV3.Light" |
| android:immersive="true" /> |
| |
| <activity |
| android:name=".finalization.FinalScreenActivity" |
| android:theme="@style/SudThemeGlifV3.Light" |
| android:immersive="true" /> |
| |
| <service |
| android:name=".analytics.ProcessMetricsJobService" |
| android:permission="android.permission.BIND_JOB_SERVICE"/> |
| </application> |
| </manifest> |