1<?xml version="1.0" encoding="utf-8"?> 2<manifest 3 xmlns:android="http://schemas.android.com/apk/res/android" 4 xmlns:tools="http://schemas.android.com/tools" 5 package="com.android.permissioncontroller" 6 coreApp="true" 7 android:versionCode="290000000" 8 android:versionName="29 system image" 9> 10 11 <original-package android:name="com.android.permissioncontroller" /> 12 13 <permission android:name="com.android.permissioncontroller.permission.MANAGE_ROLES_FROM_CONTROLLER" 14 android:protectionLevel="signature" /> 15 16 <uses-permission android:name="android.permission.MANAGE_USERS" /> 17 <uses-permission android:name="android.permission.GRANT_RUNTIME_PERMISSIONS" /> 18 <uses-permission android:name="android.permission.REVOKE_RUNTIME_PERMISSIONS" /> 19 <uses-permission android:name="android.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY" /> 20 <uses-permission android:name="android.permission.WHITELIST_RESTRICTED_PERMISSIONS" /> 21 <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" /> 22 <uses-permission android:name="android.permission.OBSERVE_GRANT_REVOKE_PERMISSIONS" /> 23 <uses-permission android:name="android.permission.UPDATE_APP_OPS_STATS" /> 24 <uses-permission android:name="android.permission.MANAGE_APP_OPS_MODES" /> 25 <uses-permission android:name="android.permission.GET_APP_OPS_STATS" /> 26 <uses-permission android:name="android.permission.KILL_UID" /> 27 <uses-permission android:name="android.permission.MANAGE_APP_OPS_RESTRICTIONS" /> 28 <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> 29 <uses-permission android:name="android.permission.HIDE_NON_SYSTEM_OVERLAY_WINDOWS" /> 30 <uses-permission android:name="android.permission.MANAGE_ROLE_HOLDERS" /> 31 <uses-permission android:name="android.permission.OBSERVE_ROLE_HOLDERS" /> 32 <uses-permission android:name="android.permission.SET_PREFERRED_APPLICATIONS" /> 33 <uses-permission android:name="android.permission.ACCESS_SHARED_LIBRARIES" /> 34 <uses-permission android:name="com.android.permissioncontroller.permission.MANAGE_ROLES_FROM_CONTROLLER" /> 35 <uses-permission android:name="android.permission.ACCESS_INSTANT_APPS" /> 36 <uses-permission android:name="android.permission.REQUEST_INCIDENT_REPORT_APPROVAL" /> 37 <uses-permission android:name="android.permission.APPROVE_INCIDENT_REPORTS" /> 38 <uses-permission android:name="android.permission.READ_DEVICE_CONFIG" /> 39 <uses-permission android:name="android.permission.OPEN_ACCESSIBILITY_DETAILS_SETTINGS" /> 40 <uses-permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE" /> 41 <uses-permission android:name="android.permission.SUBSTITUTE_NOTIFICATION_APP_NAME" /> 42 43 <uses-sdk android:minSdkVersion="29" android:targetSdkVersion="29" /> 44 45 <application android:name="com.android.packageinstaller.PackageInstallerApplication" 46 android:label="@string/app_name" 47 android:icon="@drawable/ic_permission_controller_app_icon" 48 android:allowBackup="false" 49 android:allowClearUserData="false" 50 android:supportsRtl="true" 51 android:defaultToDeviceProtectedStorage="true" 52 android:directBootAware="true"> 53 54 <provider 55 android:name="androidx.lifecycle.ProcessLifecycleOwnerInitializer" 56 tools:replace="android:authorities" 57 android:authorities="${applicationId}.lifecycle-process" 58 android:exported="false" 59 android:multiprocess="true" /> 60 61 <receiver android:name="com.android.packageinstaller.permission.service.LocationAccessCheck$SetupPeriodicBackgroundLocationAccessCheck"> 62 <intent-filter> 63 <action android:name="android.intent.action.BOOT_COMPLETED" /> 64 </intent-filter> 65 </receiver> 66 67 <receiver android:name="com.android.packageinstaller.permission.service.LocationAccessCheck$NotificationDeleteHandler" /> 68 69 <receiver android:name="com.android.packageinstaller.permission.service.LocationAccessCheck$NotificationClickHandler" /> 70 71 <receiver android:name="com.android.packageinstaller.permission.service.LocationAccessCheck$PackageResetHandler"> 72 <intent-filter> 73 <action android:name="android.intent.action.PACKAGE_FULLY_REMOVED"/> 74 <action android:name="android.intent.action.PACKAGE_DATA_CLEARED" /> 75 <data android:scheme="package" /> 76 </intent-filter> 77 </receiver> 78 79 <service android:name="com.android.packageinstaller.permission.service.LocationAccessCheck$LocationAccessCheckJobService" 80 android:permission="android.permission.BIND_JOB_SERVICE" /> 81 82 <activity android:name="com.android.packageinstaller.permission.ui.GrantPermissionsActivity" 83 android:configChanges="keyboardHidden|screenSize" 84 android:excludeFromRecents="true" 85 android:theme="@style/GrantPermissions" 86 android:visibleToInstantApps="true" 87 android:inheritShowWhenLocked="true"> 88 <intent-filter android:priority="1"> 89 <action android:name="android.content.pm.action.REQUEST_PERMISSIONS" /> 90 <category android:name="android.intent.category.DEFAULT" /> 91 </intent-filter> 92 </activity> 93 94 <activity android:name="com.android.packageinstaller.permission.ui.ManagePermissionsActivity" 95 android:configChanges="orientation|keyboardHidden|screenSize" 96 android:label="@string/app_permissions" 97 android:theme="@style/Settings" 98 android:permission="android.permission.GRANT_RUNTIME_PERMISSIONS"> 99 <intent-filter android:priority="1"> 100 <action android:name="android.intent.action.MANAGE_APP_PERMISSIONS" /> 101 <action android:name="android.intent.action.MANAGE_PERMISSION_APPS" /> 102 <action android:name="android.intent.action.MANAGE_PERMISSIONS" /> 103 <action android:name="android.intent.action.REVIEW_PERMISSION_USAGE" /> 104 <category android:name="android.intent.category.DEFAULT" /> 105 </intent-filter> 106 </activity> 107 108 <activity android:name="com.android.packageinstaller.permission.ui.AdjustUserSensitiveActivity" 109 android:configChanges="orientation|keyboardHidden|screenSize" 110 android:label="@string/adjust_user_sensitive_title" 111 android:theme="@style/Settings" 112 android:exported="false" 113 android:permission="android.permission.GRANT_RUNTIME_PERMISSIONS" /> 114 115 <activity android:name="com.android.packageinstaller.permission.ui.ManagePermissionsActivityTrampoline" 116 android:excludeFromRecents="true" 117 android:noHistory="true" 118 android:theme="@android:style/Theme.NoDisplay"> 119 <intent-filter android:priority="1"> 120 <action android:name="com.android.permissioncontroller.settingssearch.action.MANAGE_PERMISSION_APPS" /> 121 <action android:name="com.android.permissioncontroller.settingssearch.action.REVIEW_PERMISSION_USAGE" /> 122 <category android:name="android.intent.category.DEFAULT" /> 123 </intent-filter> 124 </activity> 125 126 <activity android:name="com.android.packageinstaller.permission.ui.AppPermissionActivity" 127 android:configChanges="orientation|keyboardHidden|screenSize" 128 android:theme="@style/Settings" 129 android:permission="android.permission.GRANT_RUNTIME_PERMISSIONS"> 130 <intent-filter android:priority="1"> 131 <action android:name="android.intent.action.MANAGE_APP_PERMISSION" /> 132 <category android:name="android.intent.category.DEFAULT" /> 133 </intent-filter> 134 </activity> 135 136 <activity android:name="com.android.packageinstaller.permission.ui.ReviewPermissionsActivity" 137 android:excludeFromRecents="true" 138 android:theme="@style/ReviewPermissions" 139 android:permission="android.permission.GRANT_RUNTIME_PERMISSIONS"> 140 <intent-filter android:priority="1"> 141 <action android:name="android.intent.action.REVIEW_PERMISSIONS" /> 142 <category android:name="android.intent.category.DEFAULT" /> 143 </intent-filter> 144 </activity> 145 146 <activity android:name="com.android.packageinstaller.permission.ui.OverlayWarningDialog" 147 android:excludeFromRecents="true" 148 android:theme="@android:style/Theme.DeviceDefault.Light.Dialog.NoActionBar" /> 149 150 <activity android:name="com.android.packageinstaller.permission.ui.LocationProviderInterceptDialog" 151 android:excludeFromRecents="true" 152 android:theme="@style/PermissionDialog" /> 153 154 <activity android:name="com.android.packageinstaller.permission.ui.ReviewOngoingUsageActivity" 155 android:excludeFromRecents="true" 156 android:theme="@style/PermissionDialog" 157 android:launchMode="singleInstance" 158 android:permission="android.permission.GRANT_RUNTIME_PERMISSIONS" > 159 <intent-filter android:priority="1"> 160 <action android:name="android.intent.action.REVIEW_ONGOING_PERMISSION_USAGE" /> 161 <category android:name="android.intent.category.DEFAULT" /> 162 </intent-filter> 163 </activity> 164 165 <activity android:name="com.android.packageinstaller.permission.ui.ReviewAccessibilityServicesActivity" 166 android:excludeFromRecents="true" 167 android:theme="@style/PermissionDialog" 168 android:permission="android.permission.REVIEW_ACCESSIBILITY_SERVICES" > 169 <intent-filter android:priority="1"> 170 <action android:name="android.intent.action.REVIEW_ACCESSIBILITY_SERVICES" /> 171 <category android:name="android.intent.category.DEFAULT" /> 172 </intent-filter> 173 </activity> 174 175 <activity android:name="com.android.packageinstaller.role.ui.RequestRoleActivity" 176 android:excludeFromRecents="true" 177 android:theme="@style/RequestRole"> 178 <intent-filter android:priority="1"> 179 <action android:name="android.app.role.action.REQUEST_ROLE" /> 180 <category android:name="android.intent.category.DEFAULT" /> 181 </intent-filter> 182 <intent-filter android:priority="2"> 183 <action android:name="android.provider.Telephony.ACTION_CHANGE_DEFAULT" /> 184 <category android:name="android.intent.category.DEFAULT" /> 185 </intent-filter> 186 <intent-filter android:priority="1001"> 187 <action android:name="android.telecom.action.CHANGE_DEFAULT_DIALER" /> 188 <category android:name="android.intent.category.DEFAULT" /> 189 </intent-filter> 190 </activity> 191 192 <activity android:name="com.android.packageinstaller.role.ui.DefaultAppListActivity" 193 android:label="@string/default_apps" 194 android:theme="@style/Settings"> 195 <intent-filter android:priority="2"> 196 <action android:name="android.settings.MANAGE_DEFAULT_APPS_SETTINGS" /> 197 <category android:name="android.intent.category.DEFAULT" /> 198 </intent-filter> 199 </activity> 200 201 <activity android:name="com.android.packageinstaller.role.ui.DefaultAppActivity" 202 android:permission="android.permission.MANAGE_ROLE_HOLDERS" 203 android:theme="@style/Settings"> 204 <intent-filter android:priority="1"> 205 <action android:name="android.intent.action.MANAGE_DEFAULT_APP" /> 206 <category android:name="android.intent.category.DEFAULT" /> 207 </intent-filter> 208 </activity> 209 210 <activity android:name="com.android.packageinstaller.role.ui.HomeSettingsActivity" 211 android:excludeFromRecents="true" 212 android:noHistory="true" 213 android:theme="@android:style/Theme.NoDisplay"> 214 <intent-filter android:priority="2"> 215 <action android:name="android.settings.HOME_SETTINGS" /> 216 <category android:name="android.intent.category.DEFAULT" /> 217 </intent-filter> 218 </activity> 219 220 <activity android:name="com.android.packageinstaller.role.ui.SpecialAppAccessListActivity" 221 android:label="@string/special_app_access" 222 android:permission="android.permission.MANAGE_ROLE_HOLDERS" 223 android:theme="@style/Settings"> 224 <intent-filter android:priority="1"> 225 <action android:name="android.intent.action.MANAGE_SPECIAL_APP_ACCESSES" /> 226 <category android:name="android.intent.category.DEFAULT" /> 227 </intent-filter> 228 </activity> 229 230 <!-- TODO: Override other Settings intents when we've done migrating them. --> 231 <activity android:name="com.android.packageinstaller.role.ui.SpecialAppAccessActivity" 232 android:theme="@style/Settings" /> 233 234 <activity android:name="com.android.packageinstaller.role.ui.RoleSearchTrampolineActivity" 235 android:excludeFromRecents="true" 236 android:noHistory="true" 237 android:theme="@android:style/Theme.NoDisplay"> 238 <intent-filter android:priority="1"> 239 <action android:name="com.android.permissioncontroller.settingssearch.action.MANAGE_DEFAULT_APP" /> 240 <action android:name="com.android.permissioncontroller.settingssearch.action.MANAGE_SPECIAL_APP_ACCESS" /> 241 <category android:name="android.intent.category.DEFAULT" /> 242 </intent-filter> 243 </activity> 244 245 <provider android:name="com.android.packageinstaller.permission.service.PermissionSearchIndexablesProvider" 246 android:authorities="com.android.permissioncontroller" 247 android:multiprocess="false" 248 android:grantUriPermissions="true" 249 android:permission="android.permission.READ_SEARCH_INDEXABLES" 250 android:exported="true"> 251 <intent-filter> 252 <action android:name="android.content.action.SEARCH_INDEXABLES_PROVIDER" /> 253 </intent-filter> 254 </provider> 255 256 <provider android:name="com.android.packageinstaller.role.service.RoleSearchIndexablesProvider" 257 android:authorities="com.android.permissioncontroller.role" 258 android:exported="true" 259 android:grantUriPermissions="true" 260 android:permission="android.permission.READ_SEARCH_INDEXABLES"> 261 <intent-filter> 262 <action android:name="android.content.action.SEARCH_INDEXABLES_PROVIDER" /> 263 </intent-filter> 264 </provider> 265 266 <service android:name="com.android.packageinstaller.permission.service.PermissionControllerServiceImpl"> 267 <intent-filter android:priority="1"> 268 <action android:name="android.permission.PermissionControllerService"/> 269 </intent-filter> 270 </service> 271 272 <service android:name="com.android.packageinstaller.permission.service.RuntimePermissionPresenterServiceLegacyImpl" 273 android:permission="android.permission.BIND_RUNTIME_PERMISSION_PRESENTER_SERVICE"> 274 <intent-filter android:priority="1"> 275 <action android:name="android.permissionpresenterservice.RuntimePermissionPresenterService"/> 276 </intent-filter> 277 </service> 278 279 <service android:name="com.android.packageinstaller.role.service.RoleControllerServiceImpl"> 280 <intent-filter android:priority="1"> 281 <action android:name="android.app.role.RoleControllerService"/> 282 </intent-filter> 283 </service> 284 285 <receiver android:name="com.android.packageinstaller.role.service.ClearUserDeniedReceiver"> 286 <intent-filter> 287 <action android:name="android.intent.action.PACKAGE_DATA_CLEARED" /> 288 <action android:name="android.intent.action.PACKAGE_FULLY_REMOVED"/> 289 <data android:scheme="package" /> 290 </intent-filter> 291 </receiver> 292 293 <!-- Debug report authorization (bugreport and incident report) --> 294 <receiver android:name="com.android.packageinstaller.incident.ConfirmationReceiver" 295 android:exported="true"> 296 <intent-filter> 297 <action android:name="android.intent.action.PENDING_INCIDENT_REPORTS_CHANGED" /> 298 </intent-filter> 299 </receiver> 300 301 <activity android:name="com.android.packageinstaller.incident.ConfirmationActivity" 302 android:theme="@android:style/Theme.DeviceDefault.Light.Dialog.NoActionBar" 303 android:exported="false" 304 android:excludeFromRecents="true" 305 android:noHistory="true" /> 306 307 <receiver android:name="com.android.packageinstaller.incident.ApprovalReceiver" 308 android:exported="false" /> 309 310 </application> 311 312</manifest> 313