<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="org.dolphinemu.dolphinemu">

    <uses-feature
        android:name="android.hardware.touchscreen"
        android:required="false"/>
    <uses-feature
        android:name="android.hardware.sensor.accelerometer"
        android:required="false"/>
    <uses-feature
        android:name="android.hardware.sensor.gyroscope"
        android:required="false"/>
    <uses-feature
        android:name="android.hardware.gamepad"
        android:required="false"/>
    <uses-feature
        android:name="android.software.leanback"
        android:required="false"/>

    <uses-feature android:glEsVersion="0x00030000"/>

    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="com.android.providers.tv.permission.READ_EPG_DATA"/>
    <uses-permission android:name="com.android.providers.tv.permission.WRITE_EPG_DATA"/>
    <uses-permission
        android:name="android.permission.VIBRATE"
        android:required="false"/>

    <application
        android:name=".DolphinApplication"
        android:label="@string/app_name"
        android:icon="@drawable/ic_launcher"
        android:requestLegacyExternalStorage="true"
        android:allowBackup="false"
        android:supportsRtl="true"
        android:isGame="true"
        android:banner="@drawable/banner_tv">
        <meta-data
            android:name="android.max_aspect"
            android:value="2.1"/>

        <activity
            android:name=".ui.main.MainActivity"
            android:theme="@style/DolphinBase">

            <!-- This intentfilter marks this Activity as the one that gets launched from Home screen. -->
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>

                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>

        <activity
            android:name=".ui.main.TvMainActivity"
            android:theme="@style/DolphinTvBase">

            <!-- This intentfilter marks this Activity as the one that gets launched from Home screen. -->
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>

                <category android:name="android.intent.category.LEANBACK_LAUNCHER"/>
            </intent-filter>
        </activity>

        <activity
            android:name=".features.settings.ui.SettingsActivity"
            android:configChanges="orientation|screenSize"
            android:theme="@style/DolphinSettingsBase"
            android:label="@string/preferences_settings"/>

        <activity
            android:name=".activities.EmulationActivity"
            android:theme="@style/DolphinEmulationBase"
            android:preferMinimalPostProcessing="true"/>

        <activity
            android:name=".activities.CustomFilePickerActivity"
            android:label="@string/app_name"
            android:theme="@style/FilePickerTheme">
            <intent-filter>
                <action android:name="android.intent.action.GET_CONTENT"/>
                <category android:name="android.intent.category.DEFAULT"/>
            </intent-filter>
        </activity>

        <activity android:name=".activities.AppLinkActivity">
            <intent-filter>
                <action android:name="android.intent.action.VIEW"/>
                <category android:name="android.intent.category.DEFAULT"/>
                <data
                    android:host="@string/host"
                    android:scheme="@string/scheme"/>
            </intent-filter>
        </activity>

        <activity
            android:name=".activities.ConvertActivity"
            android:theme="@style/DolphinBase" />

        <service android:name=".utils.DirectoryInitialization"/>
        <service android:name=".services.GameFileCacheService"/>
        <service
            android:name=".services.SyncChannelJobService"
            android:exported="false"
            android:permission="android.permission.BIND_JOB_SERVICE"/>
        <service
            android:name=".services.SyncProgramsJobService"
            android:exported="false"
            android:permission="android.permission.BIND_JOB_SERVICE"/>

        <provider
            android:name="androidx.core.content.FileProvider"
            android:authorities="${applicationId}.filesprovider"
            android:exported="false"
            android:grantUriPermissions="true">
            <meta-data
                android:name="android.support.FILE_PROVIDER_PATHS"
                android:resource="@xml/nnf_provider_paths"/>
        </provider>

    </application>

</manifest>