1<?xml version="1.0" encoding="utf-8"?>
2<manifest xmlns:android="http://schemas.android.com/apk/res/android"
3          xmlns:tools="http://schemas.android.com/tools"
4          package="com.android.packageinstaller">
5
6    <original-package android:name="com.android.packageinstaller" />
7
8    <uses-permission android:name="android.permission.MANAGE_USERS" />
9    <uses-permission android:name="android.permission.INSTALL_PACKAGES" />
10    <uses-permission android:name="android.permission.DELETE_PACKAGES" />
11    <uses-permission android:name="android.permission.READ_INSTALL_SESSIONS" />
12    <uses-permission android:name="android.permission.READ_INSTALLED_SESSION_PATHS" />
13    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
14    <uses-permission android:name="android.permission.HIDE_NON_SYSTEM_OVERLAY_WINDOWS" />
15    <uses-permission android:name="android.permission.USE_RESERVED_DISK" />
16    <uses-permission android:name="android.permission.UPDATE_APP_OPS_STATS" />
17    <uses-permission android:name="android.permission.MANAGE_APP_OPS_MODES" />
18    <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" />
19    <uses-permission android:name="android.permission.SUBSTITUTE_NOTIFICATION_APP_NAME" />
20    <uses-permission android:name="android.permission.PACKAGE_USAGE_STATS" />
21    <uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" />
22    <uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
23    <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
24    <uses-permission android:name="android.permission.FOREGROUND_SERVICE_SYSTEM_EXEMPTED" />
25
26    <uses-permission android:name="com.google.android.permission.INSTALL_WEARABLE_PACKAGES" />
27
28    <application android:name=".PackageInstallerApplication"
29            android:label="@string/app_name"
30            android:icon="@drawable/ic_app_icon"
31            android:allowBackup="false"
32            android:theme="@style/Theme.AlertDialogActivity"
33            android:supportsRtl="true"
34            android:defaultToDeviceProtectedStorage="true"
35            android:forceQueryable="true"
36            android:directBootAware="true">
37
38        <receiver android:name=".TemporaryFileManager"
39            android:exported="false">
40            <intent-filter>
41                <action android:name="android.intent.action.BOOT_COMPLETED" />
42            </intent-filter>
43        </receiver>
44
45        <activity android:name=".InstallStart"
46                android:theme="@android:style/Theme.Translucent.NoTitleBar"
47                android:exported="true"
48                android:excludeFromRecents="true">
49            <intent-filter android:priority="1">
50                <action android:name="android.intent.action.VIEW" />
51                <action android:name="android.intent.action.INSTALL_PACKAGE" />
52                <category android:name="android.intent.category.DEFAULT" />
53                <data android:scheme="content" />
54                <data android:mimeType="application/vnd.android.package-archive" />
55            </intent-filter>
56            <intent-filter android:priority="1">
57                <action android:name="android.intent.action.INSTALL_PACKAGE" />
58                <category android:name="android.intent.category.DEFAULT" />
59                <data android:scheme="package" />
60                <data android:scheme="content" />
61            </intent-filter>
62            <intent-filter android:priority="1">
63                <action android:name="android.content.pm.action.CONFIRM_INSTALL" />
64                <category android:name="android.intent.category.DEFAULT" />
65            </intent-filter>
66            <intent-filter android:priority="1">
67                <action android:name="android.content.pm.action.CONFIRM_PRE_APPROVAL" />
68                <category android:name="android.intent.category.DEFAULT" />
69            </intent-filter>
70        </activity>
71
72        <activity android:name=".InstallStaging"
73                android:exported="false" />
74
75        <activity android:name=".DeleteStagedFileOnResult"
76            android:theme="@style/Theme.AlertDialogActivity.NoActionBar"
77            android:exported="false" />
78
79        <activity android:name=".PackageInstallerActivity"
80                android:exported="false" />
81
82        <activity android:name=".InstallInstalling"
83                android:theme="@style/Theme.AlertDialogActivity.NoAnimation"
84                android:exported="false" />
85
86        <receiver android:name=".InstallEventReceiver"
87                android:permission="android.permission.INSTALL_PACKAGES"
88                android:exported="false">
89            <intent-filter android:priority="1">
90                <action android:name="com.android.packageinstaller.ACTION_INSTALL_COMMIT" />
91            </intent-filter>
92        </receiver>
93
94        <activity android:name=".InstallSuccess"
95                android:theme="@style/Theme.AlertDialogActivity.NoAnimation"
96                android:exported="false" />
97
98        <activity android:name=".InstallFailed"
99                android:theme="@style/Theme.AlertDialogActivity.NoAnimation"
100                android:exported="false" />
101
102        <activity android:name=".UninstallerActivity"
103                android:configChanges="orientation|keyboardHidden|screenSize"
104                android:theme="@style/Theme.AlertDialogActivity.NoActionBar"
105                android:excludeFromRecents="true"
106                android:noHistory="true"
107                android:exported="true">
108            <intent-filter android:priority="1">
109                <action android:name="android.intent.action.DELETE" />
110                <action android:name="android.intent.action.UNINSTALL_PACKAGE" />
111                <category android:name="android.intent.category.DEFAULT" />
112                <data android:scheme="package" />
113            </intent-filter>
114        </activity>
115
116        <receiver android:name=".UninstallEventReceiver"
117            android:permission="android.permission.INSTALL_PACKAGES"
118            android:exported="false">
119            <intent-filter android:priority="1">
120                <action android:name="com.android.packageinstaller.ACTION_UNINSTALL_COMMIT" />
121            </intent-filter>
122        </receiver>
123
124        <receiver android:name=".PackageInstalledReceiver"
125                android:exported="false">
126            <intent-filter android:priority="1">
127                <action android:name="android.intent.action.PACKAGE_ADDED" />
128                <data android:scheme="package" />
129            </intent-filter>
130        </receiver>
131
132        <activity android:name=".UninstallUninstalling"
133            android:theme="@style/Theme.AlertDialogActivity.NoActionBar"
134            android:excludeFromRecents="true"
135            android:exported="false" />
136
137        <receiver android:name=".UninstallFinish"
138                android:exported="false" />
139
140        <activity android:name=".television.UninstallAppProgress"
141                android:configChanges="mnc|mnc|touchscreen|navigation|screenLayout|screenSize|smallestScreenSize|orientation|locale|keyboard|keyboardHidden|fontScale|uiMode|layoutDirection|density"
142                android:exported="false" />
143
144        <!-- Wearable Components -->
145        <service android:name=".wear.WearPackageInstallerService"
146                 android:permission="com.google.android.permission.INSTALL_WEARABLE_PACKAGES"
147                 android:foregroundServiceType="systemExempted"
148                 android:exported="true"/>
149
150        <provider android:name=".wear.WearPackageIconProvider"
151                  android:authorities="com.google.android.packageinstaller.wear.provider"
152                  android:grantUriPermissions="true"
153                  android:exported="false" />
154
155        <receiver android:name="androidx.profileinstaller.ProfileInstallReceiver"
156            tools:node="remove" />
157    </application>
158
159</manifest>
160