You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
335 lines
19 KiB
335 lines
19 KiB
<?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="319999900"
|
|
android:versionName="31 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.REQUEST_DELETE_PACKAGES" />
|
|
<uses-permission android:name="android.permission.CHANGE_COMPONENT_ENABLED_STATE" />
|
|
<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-permission android:name="android.permission.MANAGE_ONE_TIME_PERMISSION_SESSIONS" />
|
|
<uses-permission android:name="android.permission.PACKAGE_USAGE_STATS" />
|
|
<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" />
|
|
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
|
|
<uses-permission android:name="android.permission.MODIFY_AUDIO_ROUTING" />
|
|
<!-- TODO(b/170896938): make this privileged(signature may only work on pixel) -->
|
|
<uses-permission android:name="android.permission.MANAGE_NOTIFICATION_LISTENERS" />
|
|
<uses-permission android:name="android.permission.START_VIEW_PERMISSION_USAGE" />
|
|
<uses-permission android:name="android.permission.MANAGE_APP_HIBERNATION" />
|
|
|
|
<uses-sdk android:minSdkVersion="29" android:targetSdkVersion="29" />
|
|
|
|
<application android:name="com.android.permissioncontroller.PermissionControllerApplication"
|
|
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:forceQueryable="true"
|
|
android:directBootAware="true"
|
|
android:theme="@style/FilterTouches">
|
|
|
|
<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.permissioncontroller.permission.service.LocationAccessCheck$SetupPeriodicBackgroundLocationAccessCheck">
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.BOOT_COMPLETED" />
|
|
</intent-filter>
|
|
</receiver>
|
|
|
|
<receiver android:name="com.android.permissioncontroller.hibernation.HibernationOnBootReceiver">
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.BOOT_COMPLETED" />
|
|
</intent-filter>
|
|
</receiver>
|
|
|
|
<receiver android:name="com.android.permissioncontroller.permission.service.LocationAccessCheck$NotificationDeleteHandler" />
|
|
|
|
<receiver android:name="com.android.permissioncontroller.permission.service.LocationAccessCheck$NotificationClickHandler" />
|
|
|
|
<receiver android:name="com.android.permissioncontroller.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.permissioncontroller.permission.service.LocationAccessCheck$LocationAccessCheckJobService"
|
|
android:permission="android.permission.BIND_JOB_SERVICE" />
|
|
|
|
<service android:name="com.android.permissioncontroller.hibernation.HibernationJobService"
|
|
android:permission="android.permission.BIND_JOB_SERVICE" />
|
|
|
|
<service android:name="com.android.permissioncontroller.permission.service.AutoRevokeReGrantService"
|
|
android:permission="android.permission.BIND_JOB_SERVICE" />
|
|
|
|
|
|
<activity android:name="com.android.permissioncontroller.permission.ui.GrantPermissionsActivity"
|
|
android:configChanges="keyboardHidden|screenSize"
|
|
android:excludeFromRecents="true"
|
|
android:theme="@style/GrantPermissions.FilterTouches"
|
|
android:visibleToInstantApps="true"
|
|
android:inheritShowWhenLocked="true"
|
|
android:hardwareAccelerated="false">
|
|
<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.permissioncontroller.permission.ui.ManagePermissionsActivity"
|
|
android:configChanges="orientation|keyboardHidden|screenSize"
|
|
android:label="@string/app_permissions"
|
|
android:theme="@style/Theme.PermissionController.Settings.FilterTouches"
|
|
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_APP_PERMISSION" />
|
|
<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" />
|
|
<action android:name="android.intent.action.REVIEW_PERMISSION_HISTORY" />
|
|
<action android:name="android.intent.action.MANAGE_UNUSED_APPS" />
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
</intent-filter>
|
|
</activity>
|
|
|
|
<activity android:name="com.android.permissioncontroller.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.permissioncontroller.permission.ui.legacy.AppPermissionActivity"
|
|
android:configChanges="orientation|keyboardHidden|screenSize"
|
|
android:theme="@style/Theme.PermissionController.Settings.FilterTouches"
|
|
android:permission="android.permission.GRANT_RUNTIME_PERMISSIONS">
|
|
</activity>
|
|
|
|
<activity android:name="com.android.permissioncontroller.permission.ui.ReviewPermissionsActivity"
|
|
android:excludeFromRecents="true"
|
|
android:theme="@style/ReviewPermissions.FilterTouches"
|
|
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.permissioncontroller.permission.ui.OverlayWarningDialog"
|
|
android:excludeFromRecents="true"
|
|
android:theme="@style/Theme.AppCompat.DayNight.Dialog.Alert" />
|
|
|
|
<activity android:name="com.android.permissioncontroller.permission.ui.LocationProviderInterceptDialog"
|
|
android:excludeFromRecents="true"
|
|
android:theme="@style/PermissionDialog.FilterTouches" />
|
|
|
|
<activity android:name="com.android.permissioncontroller.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.permissioncontroller.permission.ui.ReviewAccessibilityServicesActivity"
|
|
android:excludeFromRecents="true"
|
|
android:theme="@style/PermissionDialog.FilterTouches"
|
|
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.permissioncontroller.role.ui.RequestRoleActivity"
|
|
android:excludeFromRecents="true"
|
|
android:theme="@style/RequestRole.FilterTouches">
|
|
<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.permissioncontroller.role.ui.DefaultAppListActivity"
|
|
android:label="@string/default_apps"
|
|
android:theme="@style/Theme.PermissionController.Settings.FilterTouches">
|
|
<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.permissioncontroller.role.ui.DefaultAppActivity"
|
|
android:permission="android.permission.MANAGE_ROLE_HOLDERS"
|
|
android:theme="@style/Theme.PermissionController.Settings.FilterTouches">
|
|
<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.permissioncontroller.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.permissioncontroller.role.ui.SpecialAppAccessListActivity"
|
|
android:label="@string/special_app_access"
|
|
android:permission="android.permission.MANAGE_ROLE_HOLDERS"
|
|
android:theme="@style/Theme.PermissionController.Settings.FilterTouches">
|
|
<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.permissioncontroller.role.ui.SpecialAppAccessActivity"
|
|
android:theme="@style/Theme.PermissionController.Settings.FilterTouches" />
|
|
|
|
<activity android:name="com.android.permissioncontroller.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.permissioncontroller.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.permissioncontroller.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.permissioncontroller.permission.service.PermissionControllerServiceImpl"
|
|
android:visibleToInstantApps="true">
|
|
<intent-filter android:priority="1">
|
|
<action android:name="android.permission.PermissionControllerService"/>
|
|
</intent-filter>
|
|
</service>
|
|
|
|
<service android:name="com.android.permissioncontroller.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.permissioncontroller.role.service.RoleControllerServiceImpl">
|
|
<intent-filter android:priority="1">
|
|
<action android:name="android.app.role.RoleControllerService"/>
|
|
</intent-filter>
|
|
</service>
|
|
|
|
<receiver android:name="com.android.permissioncontroller.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.permissioncontroller.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.permissioncontroller.incident.ConfirmationActivity"
|
|
android:theme="@style/Theme.DeviceDefault.Dialog.Alert.DayNight"
|
|
android:exported="false"
|
|
android:excludeFromRecents="true"
|
|
android:noHistory="true" />
|
|
|
|
<receiver android:name="com.android.permissioncontroller.incident.ApprovalReceiver"
|
|
android:exported="false" />
|
|
|
|
<receiver android:name="com.android.permissioncontroller.permission.service.ExemptRestrictedPermission"
|
|
android:exported="false" />
|
|
</application>
|
|
|
|
</manifest>
|