1<manifest xmlns:android="http://schemas.android.com/apk/res/android"
2        package="com.android.providers.media"
3        android:sharedUserId="android.media"
4        android:sharedUserLabel="@string/uid_label"
5        android:versionCode="800">
6
7    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
8    <uses-permission android:name="android.permission.WRITE_SETTINGS" />
9    <uses-permission android:name="android.permission.WAKE_LOCK" />
10    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
11    <uses-permission android:name="android.permission.WRITE_MEDIA_STORAGE" />
12    <uses-permission android:name="android.permission.ACCESS_MTP" />
13    <uses-permission android:name="android.permission.MANAGE_USERS" />
14    <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS" />
15
16    <application android:process="android.process.media"
17                 android:label="@string/app_label"
18                 android:supportsRtl="true">
19        <provider android:name="MediaProvider" android:authorities="media"
20                android:multiprocess="false" android:exported="true">
21            <grant-uri-permission android:pathPrefix="/external/" />
22            <path-permission
23                    android:pathPrefix="/external/"
24                    android:readPermission="android.permission.READ_EXTERNAL_STORAGE"
25                    android:writePermission="android.permission.WRITE_EXTERNAL_STORAGE" />
26        </provider>
27
28        <provider
29            android:name="MediaDocumentsProvider"
30            android:authorities="com.android.providers.media.documents"
31            android:grantUriPermissions="true"
32            android:exported="true"
33            android:permission="android.permission.MANAGE_DOCUMENTS">
34            <intent-filter>
35                <action android:name="android.content.action.DOCUMENTS_PROVIDER" />
36            </intent-filter>
37        </provider>
38
39        <!-- Handles database upgrades after OTAs, then disables itself -->
40        <receiver android:name="MediaUpgradeReceiver">
41            <!-- This broadcast is sent after the core system has finished
42                 booting, before the home app is launched or BOOT_COMPLETED
43                 is sent. -->
44            <intent-filter>
45                <action android:name="android.intent.action.PRE_BOOT_COMPLETED"/>
46            </intent-filter>
47        </receiver>
48
49        <receiver android:name="MediaScannerReceiver">
50            <intent-filter>
51                <action android:name="android.intent.action.BOOT_COMPLETED" />
52            </intent-filter>
53            <intent-filter>
54                <action android:name="android.intent.action.MEDIA_MOUNTED" />
55                <data android:scheme="file" />
56            </intent-filter>
57            <intent-filter>
58                <action android:name="android.intent.action.MEDIA_UNMOUNTED" />
59                <data android:scheme="file" />
60            </intent-filter>
61            <intent-filter>
62                <action android:name="android.intent.action.MEDIA_SCANNER_SCAN_FILE" />
63                <data android:scheme="file" />
64            </intent-filter>
65        </receiver>
66
67        <service android:name="MediaScannerService" android:exported="true">
68            <intent-filter>
69                <action android:name="android.media.IMediaScannerService" />
70            </intent-filter>
71        </service>
72
73        <receiver android:name=".MtpReceiver">
74            <intent-filter>
75                <action android:name="android.intent.action.BOOT_COMPLETED" />
76            </intent-filter>
77            <intent-filter>
78                <action android:name="android.hardware.usb.action.USB_STATE" />
79            </intent-filter>
80        </receiver>
81
82        <service android:name="MtpService" />
83
84        <activity android:name="RingtonePickerActivity"
85                android:theme="@style/PickerDialogTheme"
86                android:excludeFromRecents="true">
87            <intent-filter>
88                <action android:name="android.intent.action.RINGTONE_PICKER" />
89                <category android:name="android.intent.category.DEFAULT" />
90            </intent-filter>
91        </activity>
92
93    </application>
94</manifest>
95