<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" package="com.android.permissioncontroller" coreApp="true" android:versionCode="290000000" android:versionName="29 system image" > <original-package android:name="com.android.permissioncontroller" /> <permission android:name="com.android.permissioncontroller.permission.MANAGE_ROLES_FROM_CONTROLLER" android:protectionLevel="signature" /> <uses-permission android:name="android.permission.MANAGE_USERS" /> <uses-permission android:name="android.permission.GRANT_RUNTIME_PERMISSIONS" /> <uses-permission android:name="android.permission.REVOKE_RUNTIME_PERMISSIONS" /> <uses-permission android:name="android.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY" /> <uses-permission android:name="android.permission.WHITELIST_RESTRICTED_PERMISSIONS" /> <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" /> <uses-permission android:name="android.permission.OBSERVE_GRANT_REVOKE_PERMISSIONS" /> <uses-permission android:name="android.permission.UPDATE_APP_OPS_STATS" /> <uses-permission android:name="android.permission.MANAGE_APP_OPS_MODES" /> <uses-permission android:name="android.permission.GET_APP_OPS_STATS" /> <uses-permission android:name="android.permission.KILL_UID" /> <uses-permission android:name="android.permission.MANAGE_APP_OPS_RESTRICTIONS" /> <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> <uses-permission android:name="android.permission.HIDE_NON_SYSTEM_OVERLAY_WINDOWS" /> <uses-permission android:name="android.permission.MANAGE_ROLE_HOLDERS" /> <uses-permission android:name="android.permission.OBSERVE_ROLE_HOLDERS" /> <uses-permission android:name="android.permission.SET_PREFERRED_APPLICATIONS" /> <uses-permission android:name="android.permission.ACCESS_SHARED_LIBRARIES" /> <uses-permission android:name="com.android.permissioncontroller.permission.MANAGE_ROLES_FROM_CONTROLLER" /> <uses-permission android:name="android.permission.ACCESS_INSTANT_APPS" /> <uses-permission android:name="android.permission.REQUEST_INCIDENT_REPORT_APPROVAL" /> <uses-permission android:name="android.permission.APPROVE_INCIDENT_REPORTS" /> <uses-permission android:name="android.permission.READ_DEVICE_CONFIG" /> <uses-permission android:name="android.permission.OPEN_ACCESSIBILITY_DETAILS_SETTINGS" /> <uses-permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE" /> <uses-permission android:name="android.permission.SUBSTITUTE_NOTIFICATION_APP_NAME" /> <uses-sdk android:minSdkVersion="29" android:targetSdkVersion="29" /> <application android:name="com.android.packageinstaller.PackageInstallerApplication" android:label="@string/app_name" android:icon="@drawable/ic_permission_controller_app_icon" android:allowBackup="false" android:allowClearUserData="false" android:supportsRtl="true" android:defaultToDeviceProtectedStorage="true" android:directBootAware="true"> <provider android:name="androidx.lifecycle.ProcessLifecycleOwnerInitializer" tools:replace="android:authorities" android:authorities="${applicationId}.lifecycle-process" android:exported="false" android:multiprocess="true" /> <receiver android:name="com.android.packageinstaller.permission.service.LocationAccessCheck$SetupPeriodicBackgroundLocationAccessCheck"> <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED" /> </intent-filter> </receiver> <receiver android:name="com.android.packageinstaller.permission.service.LocationAccessCheck$NotificationDeleteHandler" /> <receiver android:name="com.android.packageinstaller.permission.service.LocationAccessCheck$NotificationClickHandler" /> <receiver android:name="com.android.packageinstaller.permission.service.LocationAccessCheck$PackageResetHandler"> <intent-filter> <action android:name="android.intent.action.PACKAGE_FULLY_REMOVED"/> <action android:name="android.intent.action.PACKAGE_DATA_CLEARED" /> <data android:scheme="package" /> </intent-filter> </receiver> <service android:name="com.android.packageinstaller.permission.service.LocationAccessCheck$LocationAccessCheckJobService" android:permission="android.permission.BIND_JOB_SERVICE" /> <activity android:name="com.android.packageinstaller.permission.ui.GrantPermissionsActivity" android:configChanges="keyboardHidden|screenSize" android:excludeFromRecents="true" android:theme="@style/GrantPermissions" android:visibleToInstantApps="true" android:inheritShowWhenLocked="true"> <intent-filter android:priority="1"> <action android:name="android.content.pm.action.REQUEST_PERMISSIONS" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity> <activity android:name="com.android.packageinstaller.permission.ui.ManagePermissionsActivity" android:configChanges="orientation|keyboardHidden|screenSize" android:label="@string/app_permissions" android:theme="@style/Settings" android:permission="android.permission.GRANT_RUNTIME_PERMISSIONS"> <intent-filter android:priority="1"> <action android:name="android.intent.action.MANAGE_APP_PERMISSIONS" /> <action android:name="android.intent.action.MANAGE_PERMISSION_APPS" /> <action android:name="android.intent.action.MANAGE_PERMISSIONS" /> <action android:name="android.intent.action.REVIEW_PERMISSION_USAGE" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity> <activity android:name="com.android.packageinstaller.permission.ui.AdjustUserSensitiveActivity" android:configChanges="orientation|keyboardHidden|screenSize" android:label="@string/adjust_user_sensitive_title" android:theme="@style/Settings" android:exported="false" android:permission="android.permission.GRANT_RUNTIME_PERMISSIONS" /> <activity android:name="com.android.packageinstaller.permission.ui.ManagePermissionsActivityTrampoline" android:excludeFromRecents="true" android:noHistory="true" android:theme="@android:style/Theme.NoDisplay"> <intent-filter android:priority="1"> <action android:name="com.android.permissioncontroller.settingssearch.action.MANAGE_PERMISSION_APPS" /> <action android:name="com.android.permissioncontroller.settingssearch.action.REVIEW_PERMISSION_USAGE" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity> <activity android:name="com.android.packageinstaller.permission.ui.AppPermissionActivity" android:configChanges="orientation|keyboardHidden|screenSize" android:theme="@style/Settings" android:permission="android.permission.GRANT_RUNTIME_PERMISSIONS"> <intent-filter android:priority="1"> <action android:name="android.intent.action.MANAGE_APP_PERMISSION" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity> <activity android:name="com.android.packageinstaller.permission.ui.ReviewPermissionsActivity" android:excludeFromRecents="true" android:theme="@style/ReviewPermissions" android:permission="android.permission.GRANT_RUNTIME_PERMISSIONS"> <intent-filter android:priority="1"> <action android:name="android.intent.action.REVIEW_PERMISSIONS" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity> <activity android:name="com.android.packageinstaller.permission.ui.OverlayWarningDialog" android:excludeFromRecents="true" android:theme="@android:style/Theme.DeviceDefault.Light.Dialog.NoActionBar" /> <activity android:name="com.android.packageinstaller.permission.ui.LocationProviderInterceptDialog" android:excludeFromRecents="true" android:theme="@style/PermissionDialog" /> <activity android:name="com.android.packageinstaller.permission.ui.ReviewOngoingUsageActivity" android:excludeFromRecents="true" android:theme="@style/PermissionDialog" android:launchMode="singleInstance" android:permission="android.permission.GRANT_RUNTIME_PERMISSIONS" > <intent-filter android:priority="1"> <action android:name="android.intent.action.REVIEW_ONGOING_PERMISSION_USAGE" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity> <activity android:name="com.android.packageinstaller.permission.ui.ReviewAccessibilityServicesActivity" android:excludeFromRecents="true" android:theme="@style/PermissionDialog" android:permission="android.permission.REVIEW_ACCESSIBILITY_SERVICES" > <intent-filter android:priority="1"> <action android:name="android.intent.action.REVIEW_ACCESSIBILITY_SERVICES" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity> <activity android:name="com.android.packageinstaller.role.ui.RequestRoleActivity" android:excludeFromRecents="true" android:theme="@style/RequestRole"> <intent-filter android:priority="1"> <action android:name="android.app.role.action.REQUEST_ROLE" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> <intent-filter android:priority="2"> <action android:name="android.provider.Telephony.ACTION_CHANGE_DEFAULT" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> <intent-filter android:priority="1001"> <action android:name="android.telecom.action.CHANGE_DEFAULT_DIALER" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity> <activity android:name="com.android.packageinstaller.role.ui.DefaultAppListActivity" android:label="@string/default_apps" android:theme="@style/Settings"> <intent-filter android:priority="2"> <action android:name="android.settings.MANAGE_DEFAULT_APPS_SETTINGS" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity> <activity android:name="com.android.packageinstaller.role.ui.DefaultAppActivity" android:permission="android.permission.MANAGE_ROLE_HOLDERS" android:theme="@style/Settings"> <intent-filter android:priority="1"> <action android:name="android.intent.action.MANAGE_DEFAULT_APP" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity> <activity android:name="com.android.packageinstaller.role.ui.HomeSettingsActivity" android:excludeFromRecents="true" android:noHistory="true" android:theme="@android:style/Theme.NoDisplay"> <intent-filter android:priority="2"> <action android:name="android.settings.HOME_SETTINGS" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity> <activity android:name="com.android.packageinstaller.role.ui.SpecialAppAccessListActivity" android:label="@string/special_app_access" android:permission="android.permission.MANAGE_ROLE_HOLDERS" android:theme="@style/Settings"> <intent-filter android:priority="1"> <action android:name="android.intent.action.MANAGE_SPECIAL_APP_ACCESSES" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity> <!-- TODO: Override other Settings intents when we've done migrating them. --> <activity android:name="com.android.packageinstaller.role.ui.SpecialAppAccessActivity" android:theme="@style/Settings" /> <activity android:name="com.android.packageinstaller.role.ui.RoleSearchTrampolineActivity" android:excludeFromRecents="true" android:noHistory="true" android:theme="@android:style/Theme.NoDisplay"> <intent-filter android:priority="1"> <action android:name="com.android.permissioncontroller.settingssearch.action.MANAGE_DEFAULT_APP" /> <action android:name="com.android.permissioncontroller.settingssearch.action.MANAGE_SPECIAL_APP_ACCESS" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity> <provider android:name="com.android.packageinstaller.permission.service.PermissionSearchIndexablesProvider" android:authorities="com.android.permissioncontroller" android:multiprocess="false" android:grantUriPermissions="true" android:permission="android.permission.READ_SEARCH_INDEXABLES" android:exported="true"> <intent-filter> <action android:name="android.content.action.SEARCH_INDEXABLES_PROVIDER" /> </intent-filter> </provider> <provider android:name="com.android.packageinstaller.role.service.RoleSearchIndexablesProvider" android:authorities="com.android.permissioncontroller.role" android:exported="true" android:grantUriPermissions="true" android:permission="android.permission.READ_SEARCH_INDEXABLES"> <intent-filter> <action android:name="android.content.action.SEARCH_INDEXABLES_PROVIDER" /> </intent-filter> </provider> <service android:name="com.android.packageinstaller.permission.service.PermissionControllerServiceImpl"> <intent-filter android:priority="1"> <action android:name="android.permission.PermissionControllerService"/> </intent-filter> </service> <service android:name="com.android.packageinstaller.permission.service.RuntimePermissionPresenterServiceLegacyImpl" android:permission="android.permission.BIND_RUNTIME_PERMISSION_PRESENTER_SERVICE"> <intent-filter android:priority="1"> <action android:name="android.permissionpresenterservice.RuntimePermissionPresenterService"/> </intent-filter> </service> <service android:name="com.android.packageinstaller.role.service.RoleControllerServiceImpl"> <intent-filter android:priority="1"> <action android:name="android.app.role.RoleControllerService"/> </intent-filter> </service> <receiver android:name="com.android.packageinstaller.role.service.ClearUserDeniedReceiver"> <intent-filter> <action android:name="android.intent.action.PACKAGE_DATA_CLEARED" /> <action android:name="android.intent.action.PACKAGE_FULLY_REMOVED"/> <data android:scheme="package" /> </intent-filter> </receiver> <!-- Debug report authorization (bugreport and incident report) --> <receiver android:name="com.android.packageinstaller.incident.ConfirmationReceiver" android:exported="true"> <intent-filter> <action android:name="android.intent.action.PENDING_INCIDENT_REPORTS_CHANGED" /> </intent-filter> </receiver> <activity android:name="com.android.packageinstaller.incident.ConfirmationActivity" android:theme="@android:style/Theme.DeviceDefault.Light.Dialog.NoActionBar" android:exported="false" android:excludeFromRecents="true" android:noHistory="true" /> <receiver android:name="com.android.packageinstaller.incident.ApprovalReceiver" android:exported="false" /> </application> </manifest>