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