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.WAKE_LOCK" />
14    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
15    <uses-permission android:name="android.permission.HIDE_NON_SYSTEM_OVERLAY_WINDOWS" />
16    <uses-permission android:name="android.permission.USE_RESERVED_DISK" />
17    <uses-permission android:name="android.permission.UPDATE_APP_OPS_STATS" />
18    <uses-permission android:name="android.permission.MANAGE_APP_OPS_MODES" />
19    <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" />
20    <uses-permission android:name="android.permission.SUBSTITUTE_NOTIFICATION_APP_NAME" />
21    <uses-permission android:name="android.permission.PACKAGE_USAGE_STATS" />
22    <uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" />
23    <uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
24    <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
25    <uses-permission android:name="android.permission.FOREGROUND_SERVICE_SYSTEM_EXEMPTED" />
26    <uses-permission android:name="android.permission.READ_SYSTEM_GRAMMATICAL_GENDER" />
27
28    <uses-permission android:name="com.google.android.permission.INSTALL_WEARABLE_PACKAGES" />
29
30    <application android:name=".PackageInstallerApplication"
31            android:label="@string/app_name"
32            android:icon="@drawable/ic_app_icon"
33            android:allowBackup="false"
34            android:theme="@style/Theme.AlertDialogActivity"
35            android:supportsRtl="true"
36            android:defaultToDeviceProtectedStorage="true"
37            android:forceQueryable="true"
38            android:directBootAware="true">
39
40        <receiver android:name=".common.TemporaryFileManager"
41            android:exported="false">
42            <intent-filter>
43                <action android:name="android.intent.action.BOOT_COMPLETED" />
44            </intent-filter>
45        </receiver>
46
47        <activity android:name=".v2.ui.InstallLaunch"
48            android:configChanges="orientation|keyboardHidden|screenSize"
49            android:exported="false"/>
50
51        <activity android:name=".InstallStart"
52                android:exported="true"
53                android:excludeFromRecents="true">
54            <intent-filter android:priority="1">
55                <action android:name="android.intent.action.VIEW" />
56                <action android:name="android.intent.action.INSTALL_PACKAGE" />
57                <category android:name="android.intent.category.DEFAULT" />
58                <data android:scheme="content" />
59                <data android:mimeType="application/vnd.android.package-archive" />
60            </intent-filter>
61            <intent-filter android:priority="1">
62                <action android:name="android.intent.action.INSTALL_PACKAGE" />
63                <category android:name="android.intent.category.DEFAULT" />
64                <data android:scheme="package" />
65                <data android:scheme="content" />
66            </intent-filter>
67            <intent-filter android:priority="1">
68                <action android:name="android.content.pm.action.CONFIRM_INSTALL" />
69                <category android:name="android.intent.category.DEFAULT" />
70            </intent-filter>
71            <intent-filter android:priority="1">
72                <action android:name="android.content.pm.action.CONFIRM_PRE_APPROVAL" />
73                <category android:name="android.intent.category.DEFAULT" />
74            </intent-filter>
75        </activity>
76
77        <activity android:name=".InstallStaging"
78                android:exported="false" />
79
80        <activity android:name=".DeleteStagedFileOnResult"
81            android:exported="false" />
82
83        <activity android:name=".PackageInstallerActivity"
84                android:exported="false" />
85
86        <activity android:name=".InstallInstalling"
87                android:exported="false" />
88
89        <receiver android:name=".common.InstallEventReceiver"
90                android:permission="android.permission.INSTALL_PACKAGES"
91                android:exported="false">
92            <intent-filter android:priority="1">
93                <action android:name="com.android.packageinstaller.ACTION_INSTALL_COMMIT" />
94            </intent-filter>
95        </receiver>
96
97        <activity android:name=".InstallSuccess"
98                android:exported="false" />
99
100        <activity android:name=".InstallFailed"
101                android:exported="false" />
102
103        <activity android:name=".UninstallerActivity"
104                android:configChanges="orientation|keyboardHidden|screenSize"
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        <activity android:name=".v2.ui.UninstallLaunch"
117            android:configChanges="orientation|keyboardHidden|screenSize"
118            android:excludeFromRecents="true"
119            android:noHistory="true"
120            android:exported="false">
121        </activity>
122
123        <receiver android:name=".common.UninstallEventReceiver"
124            android:permission="android.permission.INSTALL_PACKAGES"
125            android:exported="false">
126            <intent-filter android:priority="1">
127                <action android:name="com.android.packageinstaller.ACTION_UNINSTALL_COMMIT" />
128            </intent-filter>
129        </receiver>
130
131        <receiver android:name=".PackageInstalledReceiver"
132                android:exported="false">
133            <intent-filter android:priority="1">
134                <action android:name="android.intent.action.PACKAGE_ADDED" />
135                <data android:scheme="package" />
136            </intent-filter>
137        </receiver>
138
139        <activity android:name=".UninstallUninstalling"
140            android:excludeFromRecents="true"
141            android:exported="false" />
142
143        <receiver android:name=".UninstallFinish"
144                android:exported="false" />
145
146        <activity android:name=".television.UninstallAppProgress"
147                android:configChanges="mnc|mnc|touchscreen|navigation|screenLayout|screenSize|smallestScreenSize|orientation|locale|keyboard|keyboardHidden|fontScale|uiMode|layoutDirection|density"
148                android:exported="false" />
149
150        <!-- Wearable Components -->
151        <service android:name=".wear.WearPackageInstallerService"
152                 android:permission="com.google.android.permission.INSTALL_WEARABLE_PACKAGES"
153                 android:foregroundServiceType="systemExempted"
154                 android:exported="true"/>
155
156        <provider android:name=".wear.WearPackageIconProvider"
157                  android:authorities="com.google.android.packageinstaller.wear.provider"
158                  android:grantUriPermissions="true"
159                  android:exported="false" />
160
161        <receiver android:name="androidx.profileinstaller.ProfileInstallReceiver"
162            tools:node="remove" />
163
164        <activity android:name=".UnarchiveActivity"
165                  android:configChanges="orientation|keyboardHidden|screenSize"
166                  android:excludeFromRecents="true"
167                  android:noHistory="true"
168                  android:exported="true">
169            <intent-filter android:priority="1">
170                <action android:name="com.android.intent.action.UNARCHIVE_DIALOG" />
171                <category android:name="android.intent.category.DEFAULT" />
172            </intent-filter>
173        </activity>
174
175        <activity android:name=".UnarchiveErrorActivity"
176                  android:configChanges="orientation|keyboardHidden|screenSize"
177                  android:excludeFromRecents="true"
178                  android:noHistory="true"
179                  android:exported="true">
180            <intent-filter android:priority="1">
181                <action android:name="com.android.intent.action.UNARCHIVE_ERROR_DIALOG" />
182                <category android:name="android.intent.category.DEFAULT" />
183            </intent-filter>
184        </activity>
185    </application>
186
187</manifest>
188