• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<manifest xmlns:android="http://schemas.android.com/apk/res/android"
2        package="com.android.providers.media.module">
3
4    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
5    <uses-permission android:name="android.permission.WRITE_SETTINGS" />
6    <uses-permission android:name="android.permission.WAKE_LOCK" />
7    <uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
8
9    <uses-permission android:name="android.permission.MANAGE_USERS" />
10    <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS" />
11    <!-- Permission required  to prompt for the work profile to be turned on -->
12    <uses-permission android:name="android.permission.MODIFY_QUIET_MODE" />
13
14    <uses-permission android:name="android.permission.WATCH_APPOPS" />
15    <uses-permission android:name="android.permission.UPDATE_APP_OPS_STATS" />
16    <uses-permission android:name="android.permission.UPDATE_DEVICE_STATS" />
17
18    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
19    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
20    <uses-permission android:name="android.permission.WRITE_MEDIA_STORAGE" />
21    <uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />
22    <uses-permission android:name="android.permission.USE_RESERVED_DISK" />
23    <uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" />
24    <uses-permission android:name="android.permission.HIDE_NON_SYSTEM_OVERLAY_WINDOWS" />
25
26    <!-- Permissions required for reading and logging compat changes -->
27    <uses-permission android:name="android.permission.LOG_COMPAT_CHANGE"/>
28    <uses-permission android:name="android.permission.READ_COMPAT_CHANGE_CONFIG"/>
29
30    <!-- Permissions required for reading device configs -->
31    <uses-permission android:name="android.permission.READ_DEVICE_CONFIG"/>
32
33    <uses-permission android:name="android.permission.START_FOREGROUND_SERVICES_FROM_BACKGROUND"/>
34
35    <!-- Permissions required for statsd pull metrics -->
36    <uses-permission android:name="android.permission.REGISTER_STATS_PULL_ATOM"/>
37
38    <!-- Permissions required to check if an app is in the foreground or not during IO -->
39    <uses-permission android:name="android.permission.PACKAGE_USAGE_STATS" />
40
41    <application
42            android:name="com.android.providers.media.MediaApplication"
43            android:label="@string/app_label"
44            android:allowBackup="false"
45            android:supportsRtl="true"
46            android:forceQueryable="true"
47            android:usesCleartextTraffic="true">
48        <provider
49                android:name="com.android.providers.media.MediaProvider"
50                android:authorities="media"
51                android:grantUriPermissions="true"
52                android:forceUriPermissions="true"
53                android:exported="true" />
54
55        <provider
56                android:name="com.android.providers.media.MediaDocumentsProvider"
57                android:label="@string/storage_description"
58                android:authorities="com.android.providers.media.documents"
59                android:grantUriPermissions="true"
60                android:exported="true"
61                android:permission="android.permission.MANAGE_DOCUMENTS">
62            <intent-filter>
63                <action android:name="android.content.action.DOCUMENTS_PROVIDER" />
64            </intent-filter>
65        </provider>
66
67        <!-- Handles database upgrades after OTAs, then disables itself -->
68        <receiver android:name="com.android.providers.media.MediaUpgradeReceiver"
69            android:exported="true">
70            <!-- This broadcast is sent after the core system has finished
71                 booting, before the home app is launched or BOOT_COMPLETED
72                 is sent. -->
73            <intent-filter>
74                <action android:name="android.intent.action.PRE_BOOT_COMPLETED"/>
75            </intent-filter>
76        </receiver>
77
78        <receiver android:name="com.android.providers.media.MediaReceiver"
79            android:exported="true">
80            <intent-filter>
81                <action android:name="android.intent.action.BOOT_COMPLETED" />
82            </intent-filter>
83            <intent-filter>
84                <action android:name="android.intent.action.LOCALE_CHANGED" />
85            </intent-filter>
86            <intent-filter>
87                <action android:name="android.intent.action.PACKAGE_FULLY_REMOVED" />
88                <action android:name="android.intent.action.PACKAGE_DATA_CLEARED" />
89                <data android:scheme="package" />
90            </intent-filter>
91            <intent-filter>
92                <action android:name="android.intent.action.MEDIA_MOUNTED" />
93                <data android:scheme="file" />
94            </intent-filter>
95            <intent-filter>
96                <action android:name="android.intent.action.MEDIA_SCANNER_SCAN_FILE" />
97                <data android:scheme="file" />
98            </intent-filter>
99        </receiver>
100
101        <service
102            android:name="com.android.providers.media.IdleService"
103            android:exported="true"
104            android:permission="android.permission.BIND_JOB_SERVICE" />
105
106        <service
107            android:name="com.android.providers.media.MediaService"
108            android:exported="true"
109            android:permission="android.permission.BIND_JOB_SERVICE" />
110
111        <service android:name="com.android.providers.media.fuse.ExternalStorageServiceImpl"
112                 android:exported="true"
113                 android:permission="android.permission.BIND_EXTERNAL_STORAGE_SERVICE">
114            <intent-filter>
115                <action android:name="android.service.storage.ExternalStorageService" />
116            </intent-filter>
117        </service>
118
119        <activity
120                android:name="com.android.providers.media.PermissionActivity"
121                android:configChanges="orientation|keyboardHidden|screenSize"
122                android:theme="@style/PickerDialogTheme"
123                android:exported="false"
124                android:excludeFromRecents="true" />
125
126        <activity
127                android:name="com.android.providers.media.CacheClearingActivity"
128                android:configChanges="orientation|keyboardHidden|screenSize"
129                android:exported="true"
130                android:theme="@style/CacheClearingAlertDialogTheme"
131                android:finishOnCloseSystemDialogs="true"
132                android:launchMode="singleTop"
133                android:excludeFromRecents="true"
134                android:visibleToInstantApps="true"
135                android:priority="100" >
136            <intent-filter>
137                <action android:name="android.os.storage.action.CLEAR_APP_CACHE" />
138                <category android:name="android.intent.category.DEFAULT" />
139            </intent-filter>
140        </activity>
141    </application>
142</manifest>
143