<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
     package="com.android.mtp"
     android:sharedUserId="android.media">
    <uses-feature android:name="android.hardware.usb.host"/>
    <uses-permission android:name="android.permission.ACCESS_MTP"/>
    <uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
    <uses-permission android:name="android.permission.FOREGROUND_SERVICE_DATA_SYNC"/>
    <uses-permission android:name="android.permission.MANAGE_USB"/>
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
    <uses-permission android:name="android.permission.MANAGE_USERS"/>
    <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS"/>
    <uses-permission android:name="android.permission.WRITE_MEDIA_STORAGE"/>
    <uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>

    <application android:process="android.process.media"
         android:label="@string/app_label"
         android:allowBackup="false"
         android:usesCleartextTraffic="true">
        <provider android:name=".MtpDocumentsProvider"
             android:authorities="com.android.mtp.documents"
             android:grantUriPermissions="true"
             android:exported="true"
             android:permission="android.permission.MANAGE_DOCUMENTS">
            <intent-filter>
                <action android:name="android.content.action.DOCUMENTS_PROVIDER"/>
            </intent-filter>
        </provider>

        <service android:name=".MtpDocumentsService"
                 android:foregroundServiceType="dataSync">
        </service>

        <activity android:name=".ReceiverActivity"
             android:label="@string/downloads_app_label"
             android:icon="@mipmap/ic_launcher_download"
             android:theme="@android:style/Theme.NoDisplay"
             android:excludeFromRecents="true"
             android:exported="true">
            <intent-filter>
                <action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED"/>
            </intent-filter>
            <meta-data android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED"
                 android:resource="@xml/device_filter"/>
        </activity>

        <receiver android:name=".UsbIntentReceiver"
             android:exported="true">
            <intent-filter>
                <action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED"/>
                <action android:name="android.hardware.usb.action.USB_DEVICE_DETACHED"/>
            </intent-filter>
            <meta-data android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED"
                 android:resource="@xml/device_filter"/>
        </receiver>

        <receiver android:name=".MtpReceiver"
             android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED"/>
            </intent-filter>
            <intent-filter>
                <action android:name="android.hardware.usb.action.USB_STATE"/>
            </intent-filter>
        </receiver>

        <service android:name="MtpService"
                 android:permission="android.permission.MANAGE_USB"
                 android:exported="true"/>
    </application>
</manifest>
