| <?xml version="1.0" encoding="utf-8"?> |
| <!-- |
| ~ Copyright (C) 2023 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. |
| --> |
| |
| <!--The base manifest file contains all elements from DeviceLockController. |
| Any new components should also be added to |
| src/com/android/devicelockcontroller/debug/AndroidManifest.xml |
| --> |
| <manifest xmlns:android="http://schemas.android.com/apk/res/android" |
| xmlns:androidprv="http://schemas.android.com/apk/prv/res/android" |
| xmlns:tools="http://schemas.android.com/tools" |
| package="com.android.devicelockcontroller"> |
| |
| <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> |
| <uses-permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE" /> |
| <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS" /> |
| <uses-permission android:name="android.permission.MASTER_CLEAR" /> |
| <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_APPS_CONTROL" /> |
| <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_CALLS" /> |
| <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_DEBUGGING_FEATURES" /> |
| <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_INSTALL_UNKNOWN_SOURCES" /> |
| <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_LOCK_TASK" /> |
| <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_SAFE_BOOT" /> |
| <uses-permission android:name="android.permission.MANAGE_DEVICE_POLICY_TIME" /> |
| <uses-permission android:name="android.permission.INTERNET" /> |
| <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> |
| <uses-permission android:name="android.permission.USE_EXACT_ALARM" /> |
| <uses-permission android:name="android.permission.POST_NOTIFICATIONS" /> |
| <uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" /> |
| <uses-permission android:name="com.android.devicelockcontroller.permission.MANAGE_DEVICE_LOCK_SERVICE_FROM_CONTROLLER" /> |
| |
| <application |
| android:name=".DeviceLockControllerApplication" |
| android:allowBackup="false" |
| android:allowClearUserData="false" |
| android:label="@string/app_name" |
| android:supportsRtl="true"> |
| <activity |
| android:name="com.android.devicelockcontroller.activities.HelpActivity" |
| android:exported="false" |
| android:theme="@style/Theme.DeviceLock.NoActionBar" /> |
| <activity |
| android:name="com.android.devicelockcontroller.activities.LandingActivity" |
| android:exported="false" |
| android:excludeFromRecents="true" |
| android:immersive="true" |
| android:theme="@style/Theme.DeviceLock.NoActionBar"> |
| <intent-filter> |
| <action android:name="com.android.devicelockcontroller.action.START_DEVICE_FINANCING_PROVISIONING" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| </intent-filter> |
| </activity> |
| |
| <activity |
| android:name="com.android.devicelockcontroller.activities.ProvisioningActivity" |
| android:exported="false" |
| android:excludeFromRecents="true" |
| android:immersive="true" |
| android:theme="@style/Theme.DeviceLock.NoActionBar" /> |
| |
| <activity-alias |
| android:name="com.android.devicelockcontroller.activities.DeviceFinancingSecondaryUserLandingActivity" |
| android:exported="false" |
| android:targetActivity=".activities.LandingActivity"> |
| <intent-filter> |
| <action android:name="com.android.devicelockcontroller.action.START_DEVICE_FINANCING_SECONDARY_USER_PROVISIONING" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| </intent-filter> |
| </activity-alias> |
| <activity-alias |
| android:name="com.android.devicelockcontroller.activities.DeviceFinancingDeferredProvisioningLandingActivity" |
| android:exported="false" |
| android:targetActivity=".activities.LandingActivity"> |
| <intent-filter> |
| <action android:name="com.android.devicelockcontroller.action.START_DEVICE_FINANCING_DEFERRED_PROVISIONING" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| </intent-filter> |
| </activity-alias> |
| <activity-alias |
| android:name="com.android.devicelockcontroller.activities.DeviceSubsidyProvisioningLandingActivity" |
| android:exported="false" |
| android:targetActivity=".activities.LandingActivity"> |
| <intent-filter> |
| <action android:name="com.android.devicelockcontroller.action.START_DEVICE_SUBSIDY_PROVISIONING" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| </intent-filter> |
| </activity-alias> |
| |
| <activity-alias |
| android:name="com.android.devicelockcontroller.activities.DeviceSubsidyDeferredProvisioningLandingActivity" |
| android:exported="false" |
| android:targetActivity=".activities.LandingActivity"> |
| <intent-filter> |
| <action android:name="com.android.devicelockcontroller.action.START_DEVICE_SUBSIDY_DEFERRED_PROVISIONING" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| </intent-filter> |
| </activity-alias> |
| |
| <activity |
| android:name="com.android.devicelockcontroller.activities.DeviceLockSettingsActivity" |
| android:theme="@style/Theme.DeviceLock.NoActionBar" |
| android:exported="true"> |
| <intent-filter> |
| <action android:name="com.android.devicelockcontroller.action.DEVICE_INFO_SETTINGS"/> |
| <category android:name="android.intent.category.DEFAULT"/> |
| </intent-filter> |
| </activity> |
| |
| <provider |
| android:name="androidx.startup.InitializationProvider" |
| android:authorities="${applicationId}.androidx-startup" |
| tools:node="remove" /> |
| |
| <!-- System user only boot completed broadcast receiver. This should disabled after provision ready --> |
| <receiver |
| android:name="com.android.devicelockcontroller.receivers.CheckInBootCompletedReceiver" |
| android:exported="false" |
| androidprv:systemUserOnly="true"> |
| <intent-filter> |
| <action android:name="android.intent.action.BOOT_COMPLETED" /> |
| </intent-filter> |
| </receiver> |
| |
| <!-- Multi users boot completed broadcast receiver. --> |
| <receiver |
| android:name="com.android.devicelockcontroller.receivers.FinalizationBootCompletedReceiver" |
| android:exported="false" |
| android:singleUser="false" |
| android:enabled="false"> |
| <intent-filter> |
| <action android:name="android.intent.action.BOOT_COMPLETED" /> |
| </intent-filter> |
| </receiver> |
| |
| <!-- Multi users locked boot completed broadcast receiver. This receiver should only be enabled after provision ready --> |
| <receiver |
| android:name="com.android.devicelockcontroller.receivers.LockedBootCompletedReceiver" |
| android:directBootAware="true" |
| android:enabled="false" |
| android:exported="false" |
| android:singleUser="false"> |
| <intent-filter> |
| <action android:name="android.intent.action.LOCKED_BOOT_COMPLETED" /> |
| </intent-filter> |
| </receiver> |
| |
| <!-- Multi users locked boot completed broadcast receiver. This receiver records the boot |
| timestamp --> |
| <receiver |
| android:name="com.android.devicelockcontroller.receivers.RecordBootTimestampReceiver" |
| android:directBootAware="true" |
| android:exported="false" |
| android:singleUser="false"> |
| <intent-filter> |
| <action android:name="android.intent.action.LOCKED_BOOT_COMPLETED" /> |
| </intent-filter> |
| </receiver> |
| |
| <!-- Multi users time changed broadcast receiver --> |
| <receiver |
| android:name="com.android.devicelockcontroller.receivers.TimeChangedBroadcastReceiver" |
| android:exported="false" |
| android:singleUser="false"> |
| <intent-filter> |
| <action android:name="android.intent.action.TIME_SET" /> |
| </intent-filter> |
| </receiver> |
| |
| <receiver |
| android:name="com.android.devicelockcontroller.receivers.ProvisionReadyReceiver" |
| android:exported="false" |
| android:singleUser="false" /> |
| |
| <receiver |
| android:name="com.android.devicelockcontroller.receivers.ResumeProvisionReceiver" |
| android:exported="false" |
| android:singleUser="false" /> |
| |
| <receiver |
| android:name="com.android.devicelockcontroller.receivers.NextProvisionFailedStepReceiver" |
| android:exported="false" |
| android:singleUser="false" /> |
| |
| <receiver |
| android:name="com.android.devicelockcontroller.receivers.ResetDeviceReceiver" |
| android:exported="false" |
| android:singleUser="false" /> |
| |
| <receiver |
| android:name="com.android.devicelockcontroller.WorkManagerExceptionHandler$WorkFailureAlarmReceiver" |
| android:exported="false" |
| androidprv:systemUserOnly="true" /> |
| |
| <service |
| android:name="com.android.devicelockcontroller.DeviceLockControllerService" |
| android:directBootAware="true" |
| android:exported="false"> |
| <intent-filter> |
| <action android:name="android.app.action.DEVICE_LOCK_CONTROLLER_SERVICE" /> |
| </intent-filter> |
| </service> |
| |
| <service |
| android:name="com.android.devicelockcontroller.storage.SetupParametersService" |
| android:directBootAware="true" |
| android:exported="false" |
| android:singleUser="true" /> |
| |
| <service |
| android:name="com.android.devicelockcontroller.storage.GlobalParametersService" |
| android:directBootAware="true" |
| android:exported="false" |
| android:singleUser="true" /> |
| |
| <service |
| android:name="com.android.devicelockcontroller.services.DeviceLockKeepAliveService" |
| android:directBootAware="true" |
| android:exported="false"> |
| <intent-filter> |
| <action android:name="com.android.devicelock.action.KEEPALIVE" /> |
| </intent-filter> |
| </service> |
| |
| </application> |
| |
| </manifest> |