fef9b3757c
All of PackageInstaller's declared receivers receive system broadcasts, so they do not need to be exported. Leaving them exported opens up vulnerabilities for apps to launch them and execute functionality that PackageInstaller includes. Bug: 191283525 Test: manual, verify receivers still work Test: atest com.android.packageinstaller.test.ExportedComponentTest Merged-In: I782fc21c848831a2a4aeab736cd47ad45781b290 Change-Id: I782fc21c848831a2a4aeab736cd47ad45781b290 (cherry picked from commit 0806568d4133e1dc736ebcc45f62655165366a9e)
147 lines
6.9 KiB
XML
147 lines
6.9 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
|
package="com.android.packageinstaller">
|
|
|
|
<original-package android:name="com.android.packageinstaller" />
|
|
|
|
<uses-permission android:name="android.permission.MANAGE_USERS" />
|
|
<uses-permission android:name="android.permission.INSTALL_PACKAGES" />
|
|
<uses-permission android:name="android.permission.DELETE_PACKAGES" />
|
|
<uses-permission android:name="android.permission.READ_INSTALL_SESSIONS" />
|
|
<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.USE_RESERVED_DISK" />
|
|
<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.INTERACT_ACROSS_USERS_FULL" />
|
|
<uses-permission android:name="android.permission.SUBSTITUTE_NOTIFICATION_APP_NAME" />
|
|
<uses-permission android:name="android.permission.PACKAGE_USAGE_STATS" />
|
|
<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" />
|
|
|
|
<uses-permission android:name="com.google.android.permission.INSTALL_WEARABLE_PACKAGES" />
|
|
|
|
<application android:name=".PackageInstallerApplication"
|
|
android:label="@string/app_name"
|
|
android:icon="@drawable/ic_app_icon"
|
|
android:allowBackup="false"
|
|
android:theme="@style/Theme.AlertDialogActivity"
|
|
android:supportsRtl="true"
|
|
android:defaultToDeviceProtectedStorage="true"
|
|
android:forceQueryable="true"
|
|
android:directBootAware="true">
|
|
|
|
<receiver android:name=".TemporaryFileManager"
|
|
android:exported="false">
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.BOOT_COMPLETED" />
|
|
</intent-filter>
|
|
</receiver>
|
|
|
|
<activity android:name=".InstallStart"
|
|
android:theme="@android:style/Theme.Translucent.NoTitleBar"
|
|
android:exported="true"
|
|
android:excludeFromRecents="true">
|
|
<intent-filter android:priority="1">
|
|
<action android:name="android.intent.action.VIEW" />
|
|
<action android:name="android.intent.action.INSTALL_PACKAGE" />
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
<data android:scheme="content" />
|
|
<data android:mimeType="application/vnd.android.package-archive" />
|
|
</intent-filter>
|
|
<intent-filter android:priority="1">
|
|
<action android:name="android.intent.action.INSTALL_PACKAGE" />
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
<data android:scheme="package" />
|
|
<data android:scheme="content" />
|
|
</intent-filter>
|
|
<intent-filter android:priority="1">
|
|
<action android:name="android.content.pm.action.CONFIRM_INSTALL" />
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
</intent-filter>
|
|
</activity>
|
|
|
|
<activity android:name=".InstallStaging"
|
|
android:exported="false" />
|
|
|
|
<activity android:name=".DeleteStagedFileOnResult"
|
|
android:theme="@style/Theme.AlertDialogActivity.NoActionBar"
|
|
android:exported="false" />
|
|
|
|
<activity android:name=".PackageInstallerActivity"
|
|
android:exported="false" />
|
|
|
|
<activity android:name=".InstallInstalling"
|
|
android:theme="@style/Theme.AlertDialogActivity.NoAnimation"
|
|
android:exported="false" />
|
|
|
|
<receiver android:name=".InstallEventReceiver"
|
|
android:permission="android.permission.INSTALL_PACKAGES"
|
|
android:exported="false">
|
|
<intent-filter android:priority="1">
|
|
<action android:name="com.android.packageinstaller.ACTION_INSTALL_COMMIT" />
|
|
</intent-filter>
|
|
</receiver>
|
|
|
|
<activity android:name=".InstallSuccess"
|
|
android:theme="@style/Theme.AlertDialogActivity.NoAnimation"
|
|
android:exported="false" />
|
|
|
|
<activity android:name=".InstallFailed"
|
|
android:theme="@style/Theme.AlertDialogActivity.NoAnimation"
|
|
android:exported="false" />
|
|
|
|
<activity android:name=".UninstallerActivity"
|
|
android:configChanges="orientation|keyboardHidden|screenSize"
|
|
android:theme="@style/Theme.AlertDialogActivity.NoActionBar"
|
|
android:excludeFromRecents="true"
|
|
android:noHistory="true"
|
|
android:exported="true">
|
|
<intent-filter android:priority="1">
|
|
<action android:name="android.intent.action.DELETE" />
|
|
<action android:name="android.intent.action.UNINSTALL_PACKAGE" />
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
<data android:scheme="package" />
|
|
</intent-filter>
|
|
</activity>
|
|
|
|
<receiver android:name=".UninstallEventReceiver"
|
|
android:permission="android.permission.INSTALL_PACKAGES"
|
|
android:exported="false">
|
|
<intent-filter android:priority="1">
|
|
<action android:name="com.android.packageinstaller.ACTION_UNINSTALL_COMMIT" />
|
|
</intent-filter>
|
|
</receiver>
|
|
|
|
<receiver android:name=".PackageInstalledReceiver"
|
|
android:exported="false">
|
|
<intent-filter android:priority="1">
|
|
<action android:name="android.intent.action.PACKAGE_ADDED" />
|
|
<data android:scheme="package" />
|
|
</intent-filter>
|
|
</receiver>
|
|
|
|
<activity android:name=".UninstallUninstalling"
|
|
android:theme="@style/Theme.AlertDialogActivity.NoActionBar"
|
|
android:excludeFromRecents="true"
|
|
android:exported="false" />
|
|
|
|
<receiver android:name=".UninstallFinish"
|
|
android:exported="false" />
|
|
|
|
<activity android:name=".television.UninstallAppProgress"
|
|
android:configChanges="mnc|mnc|touchscreen|navigation|screenLayout|screenSize|smallestScreenSize|orientation|locale|keyboard|keyboardHidden|fontScale|uiMode|layoutDirection|density"
|
|
android:exported="false" />
|
|
|
|
<!-- Wearable Components -->
|
|
<service android:name=".wear.WearPackageInstallerService"
|
|
android:permission="com.google.android.permission.INSTALL_WEARABLE_PACKAGES"
|
|
android:exported="true"/>
|
|
|
|
<provider android:name=".wear.WearPackageIconProvider"
|
|
android:authorities="com.google.android.packageinstaller.wear.provider"
|
|
android:grantUriPermissions="true"
|
|
android:exported="true" />
|
|
</application>
|
|
|
|
</manifest>
|