1<?xml version="1.0" encoding="utf-8"?>
2<manifest xmlns:android="http://schemas.android.com/apk/res/android"
3          package="com.android.packageinstaller" coreApp="true">
4
5    <original-package android:name="com.android.packageinstaller" />
6
7    <uses-permission android:name="android.permission.INSTALL_PACKAGES" />
8    <uses-permission android:name="android.permission.DELETE_PACKAGES" />
9    <uses-permission android:name="android.permission.CLEAR_APP_CACHE" />
10    <uses-permission android:name="android.permission.CLEAR_APP_USER_DATA" />
11    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
12    <uses-permission android:name="android.permission.MANAGE_USERS" />
13    <uses-permission android:name="android.permission.GRANT_RUNTIME_PERMISSIONS" />
14    <uses-permission android:name="android.permission.REVOKE_RUNTIME_PERMISSIONS" />
15    <uses-permission android:name="android.permission.INSTALL_GRANT_RUNTIME_PERMISSIONS" />
16    <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" />
17    <uses-permission android:name="android.permission.READ_INSTALL_SESSIONS" />
18    <uses-permission android:name="android.permission.UPDATE_APP_OPS_STATS" />
19    <uses-permission android:name="android.permission.WAKE_LOCK" />
20    <uses-permission android:name="android.permission.KILL_UID" />
21    <uses-permission android:name="android.permission.MANAGE_APP_OPS_RESTRICTIONS" />
22
23    <uses-permission android:name="com.google.android.permission.INSTALL_WEARABLE_PACKAGES" />
24
25    <!-- Needed for passing extras with intent ACTION_SHOW_ADMIN_SUPPORT_DETAILS -->
26    <uses-permission android:name="android.permission.MANAGE_DEVICE_ADMINS" />
27
28    <application android:label="@string/app_name"
29            android:allowBackup="false"
30            android:theme="@style/Theme.DialogWhenLarge"
31            android:supportsRtl="true"
32            android:defaultToDeviceProtectedStorage="true"
33            android:directBootAware="true">
34
35        <activity android:name=".PackageInstallerActivity"
36                android:configChanges="orientation|keyboardHidden|screenSize"
37                android:excludeFromRecents="true">
38            <intent-filter>
39                <action android:name="android.intent.action.VIEW" />
40                <action android:name="android.intent.action.INSTALL_PACKAGE" />
41                <category android:name="android.intent.category.DEFAULT" />
42                <data android:scheme="file" />
43                <data android:scheme="content" />
44                <data android:mimeType="application/vnd.android.package-archive" />
45            </intent-filter>
46            <intent-filter>
47                <action android:name="android.intent.action.INSTALL_PACKAGE" />
48                <category android:name="android.intent.category.DEFAULT" />
49                <data android:scheme="file" />
50                <data android:scheme="package" />
51                <data android:scheme="content" />
52            </intent-filter>
53            <intent-filter>
54                <action android:name="android.content.pm.action.CONFIRM_PERMISSIONS" />
55                <category android:name="android.intent.category.DEFAULT" />
56            </intent-filter>
57        </activity>
58
59        <activity android:name=".InstallAppProgress"
60                android:configChanges="orientation|keyboardHidden|screenSize"
61                android:exported="false" />
62
63        <activity android:name=".UninstallerActivity"
64                android:configChanges="orientation|keyboardHidden|screenSize"
65                android:excludeFromRecents="true"
66                android:theme="@style/Theme.AlertDialogActivity">
67            <intent-filter android:priority="1">
68                <action android:name="android.intent.action.DELETE" />
69                <action android:name="android.intent.action.UNINSTALL_PACKAGE" />
70                <category android:name="android.intent.category.DEFAULT" />
71                <data android:scheme="package" />
72            </intent-filter>
73        </activity>
74
75        <activity android:name=".UninstallAppProgress"
76                android:configChanges="mnc|mnc|touchscreen|navigation|screenLayout|screenSize|smallestScreenSize|orientation|locale|keyboard|keyboardHidden|fontScale|uiMode|layoutDirection|density"
77                android:exported="false" />
78
79        <activity android:name=".permission.ui.GrantPermissionsActivity"
80                android:configChanges="orientation|keyboardHidden|screenSize"
81                android:excludeFromRecents="true"
82                android:theme="@style/GrantPermissions">
83            <intent-filter>
84                <action android:name="android.content.pm.action.REQUEST_PERMISSIONS" />
85                <category android:name="android.intent.category.DEFAULT" />
86            </intent-filter>
87        </activity>
88
89        <activity android:name=".permission.ui.ManagePermissionsActivity"
90                  android:configChanges="orientation|keyboardHidden|screenSize"
91                  android:excludeFromRecents="true"
92                  android:label="@string/app_permissions"
93                  android:theme="@style/Settings"
94                  android:permission="android.permission.GRANT_RUNTIME_PERMISSIONS">
95            <intent-filter>
96                <action android:name="android.intent.action.MANAGE_PERMISSIONS" />
97                <action android:name="android.intent.action.MANAGE_APP_PERMISSIONS" />
98                <action android:name="android.intent.action.MANAGE_PERMISSION_APPS" />
99                <category android:name="android.intent.category.DEFAULT" />
100            </intent-filter>
101        </activity>
102
103        <activity android:name=".permission.ui.ReviewPermissionsActivity"
104                  android:excludeFromRecents="true"
105                  android:theme="@style/Settings.NoActionBar"
106                  android:permission="android.permission.GRANT_RUNTIME_PERMISSIONS">
107            <intent-filter>
108                <action android:name="android.intent.action.REVIEW_PERMISSIONS" />
109                <category android:name="android.intent.category.DEFAULT" />
110            </intent-filter>
111        </activity>
112
113        <activity android:name=".permission.ui.OverlayWarningDialog"
114                android:excludeFromRecents="true"
115                android:theme="@android:style/Theme.DeviceDefault.Light.Dialog.NoActionBar" />
116
117        <receiver android:name=".permission.model.PermissionStatusReceiver"
118            android:permission="android.permission.GRANT_RUNTIME_PERMISSIONS">
119            <intent-filter>
120                <action android:name="android.intent.action.GET_PERMISSIONS_COUNT" />
121                <action android:name="android.intent.action.GET_PERMISSIONS_PACKAGES" />
122            </intent-filter>
123        </receiver>
124
125        <!-- Wearable Components -->
126        <service android:name=".wear.WearPackageInstallerService"
127                 android:permission="com.google.android.permission.INSTALL_WEARABLE_PACKAGES"
128                 android:exported="true"/>
129
130        <service android:name=".permission.service.RuntimePermissionPresenterServiceImpl"
131                 android:permission="android.permission.BIND_RUNTIME_PERMISSION_PRESENTER_SERVICE">
132            <intent-filter>
133                <action android:name="android.permissionpresenterservice.RuntimePermissionPresenterService"/>
134            </intent-filter>
135        </service>
136
137        <provider android:name=".wear.WearPackageIconProvider"
138                  android:authorities="com.google.android.packageinstaller.wear.provider"
139                  android:grantUriPermissions="true"
140                  android:exported="true" />
141
142        <activity android:name=".permission.ui.wear.WarningConfirmationActivity"
143                  android:permission="android.permission.GRANT_RUNTIME_PERMISSIONS"
144                  android:theme="@style/Settings"/>
145    </application>
146
147</manifest>
148