<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.android.providers.media.tests">

    <uses-sdk android:minSdkVersion="30" android:targetSdkVersion="30" />

    <queries>
        <package android:name="com.android.providers.media.testapp.withoutperms" />
        <package android:name="com.android.providers.media.testapp.permission" />
        <package android:name="com.android.providers.media.testapp.permissionmedia" />
        <package android:name="com.android.providers.media.testapp.withstorageperms" />
        <package android:name="com.android.providers.media.testapp.withmediaperms" />
        <package android:name="com.android.providers.media.testapp.withuserselectedperms" />
        <package android:name="com.android.providers.media.testapp.legacy" />
        <package android:name="com.android.providers.media.testapp.legacywithtargetsdk35" />
    </queries>

    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.UPDATE_APP_OPS_STATS" />
    <uses-permission android:name="android.permission.MANAGE_USERS" />
    <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS" />
    <uses-permission android:name="android.permission.READ_DEVICE_CONFIG" />

    <uses-permission android:name="com.android.providers.media.permission.BIND_MEDIA_COGNITION_SERVICE" />

    <application android:label="MediaProvider Tests">
        <uses-library android:name="android.test.runner" />

        <activity android:name="com.android.providers.media.GetResultActivity" />
        <activity android:name="com.android.providers.media.PermissionActivity" />
        <activity android:name="com.android.providers.media.CacheClearingActivity" />
        <activity android:name="com.android.providers.media.photopicker.espresso.PhotoPickerTestActivity"
                  android:theme="@style/PickerDefaultTheme"
                  android:excludeFromRecents="true">
            <intent-filter>
                <action android:name="android.provider.action.PICK_IMAGES" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.FRAMEWORK_INSTRUMENTATION_TEST" />
                <data android:mimeType="image/*" />
                <data android:mimeType="video/*" />
            </intent-filter>
            <intent-filter>
                <action android:name="android.provider.action.PICK_IMAGES" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.FRAMEWORK_INSTRUMENTATION_TEST" />
            </intent-filter>
            <intent-filter>
               <action android:name="android.provider.action.USER_SELECT_IMAGES_FOR_APP" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.FRAMEWORK_INSTRUMENTATION_TEST" />
                <data android:mimeType="image/*" />
                <data android:mimeType="video/*" />
            </intent-filter>
            <intent-filter>
                <action android:name="android.provider.action.USER_SELECT_IMAGES_FOR_APP" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.FRAMEWORK_INSTRUMENTATION_TEST" />
            </intent-filter>
        </activity>

        <!-- Intent Action "android.intent.action.MAIN"

             This intent action is used to start the activity as a main entry point, does not expect
             to receive data.

             {@link androidx.test.core.app.ActivityScenario#launchActivityForResult(Class)} launches
             the activity with the intent action {@link android.content.Intent#ACTION_MAIN}.
        -->
        <activity android:name="com.android.providers.media.photopicker.espresso.PhotoPickerAccessibilityDisabledTestActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
            </intent-filter>
        </activity>

        <activity android:name="com.android.providers.media.photopicker.ui.testapp.TestActivity"
                  android:theme="@style/Theme.AppCompat.Light.DarkActionBar">
            <intent-filter>
                <action android:name="com.android.providers.media.photopicker.tests.LAUNCH_TEST" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>

        <provider android:name="com.android.providers.media.photopicker.LocalProvider"
            android:authorities="com.android.providers.media.photopicker.tests.local"
            android:exported="false" />

        <provider android:name="com.android.providers.media.cloudproviders.FlakyCloudProvider"
                  android:authorities="com.android.providers.media.photopicker.tests.cloud_flaky"
                  android:permission="com.android.providers.media.permission.MANAGE_CLOUD_MEDIA_PROVIDERS"
                  android:exported="true">
          <intent-filter>
            <action android:name="android.content.action.CLOUD_MEDIA_PROVIDER" />
          </intent-filter>
        </provider>

        <provider android:name="com.android.providers.media.cloudproviders.CloudProviderPrimary"
                  android:authorities="com.android.providers.media.photopicker.tests.cloud_primary"
                  android:permission="com.android.providers.media.permission.MANAGE_CLOUD_MEDIA_PROVIDERS"
                  android:exported="true">
          <intent-filter>
            <action android:name="android.content.action.CLOUD_MEDIA_PROVIDER" />
          </intent-filter>
        </provider>

        <provider android:name="com.android.providers.media.cloudproviders.CloudProviderSecondary"
                  android:authorities="com.android.providers.media.photopicker.tests.cloud_secondary"
                  android:readPermission="com.android.providers.media.permission.MANAGE_CLOUD_MEDIA_PROVIDERS"
                  android:exported="true">
          <intent-filter>
            <action android:name="android.content.action.CLOUD_MEDIA_PROVIDER" />
          </intent-filter>
        </provider>

        <provider android:name="com.android.providers.media.cloudproviders.CloudProviderNoPermission"
                  android:authorities="com.android.providers.media.photopicker.tests.cloud_no_permission"
                  android:exported="true">
          <intent-filter>
            <action android:name="android.content.action.CLOUD_MEDIA_PROVIDER" />
          </intent-filter>
        </provider>

        <provider android:name="com.android.providers.media.cloudproviders.CloudProviderNoIntentFilter"
                  android:permission="com.android.providers.media.permission.MANAGE_CLOUD_MEDIA_PROVIDERS"
                  android:authorities="com.android.providers.media.photopicker.tests.cloud_no_intent_filter"
                  android:exported="true">
        </provider>

        <service
            android:name=
                "com.android.providers.media.stableuris.job.StableUriIdleMaintenanceService"
            android:exported="true"
            android:permission="android.permission.BIND_JOB_SERVICE" />

        <service
            android:name="com.android.providers.media.IdleService"
            android:exported="true"
            android:permission="android.permission.BIND_JOB_SERVICE" />


        <service android:name="com.android.providers.media.mediacognitionservices.TestMediaCognitionService"
            android:exported="true"
            android:permission="com.android.providers.media.permission.BIND_MEDIA_COGNITION_SERVICE">
            <intent-filter>
                <action android:name="android.provider.MediaCognitionService" />
                <category android:name="android.intent.category.DEFAULT"/>
            </intent-filter>
        </service>

    </application>

    <instrumentation android:name="androidx.test.runner.AndroidJUnitRunner"
        android:targetPackage="com.android.providers.media.tests"
        android:label="MediaProvider Tests" />

</manifest>
