<?xml version="1.0" encoding="utf-8"?>
<!--
  Copyright (C) 2015 The Android Open Source Project

  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
  -->

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

    <uses-permission android:name="android.permission.MEDIA_CONTENT_CONTROL"/>
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />

    <!-- To connect to media browser services in other apps, media browser clients
    that target Android 11 need to add the following in their manifest -->
    <queries>
        <intent>
            <action android:name="android.media.browse.MediaBrowserService" />
        </intent>
    </queries>

    <application
        android:label="Media Center"
        android:theme="@style/Theme.Media"
        android:icon="@drawable/ic_music"
        android:supportsRtl="true">

        <meta-data
            android:name="android.car.application"
            android:resource="@xml/automotive_app_desc" />

        <activity
            android:name=".MediaActivity"
            android:resizeableActivity="true"
            android:windowSoftInputMode="stateHidden|adjustPan"
            android:launchMode="singleTop">
            <meta-data android:name="distractionOptimized" android:value="true"/>
        </activity>

        <!-- The Media center entry point that trampolines into MediaActivity or the radio app. -->
        <activity
            android:name=".MediaDispatcherActivity"
            android:theme="@android:style/Theme.NoDisplay"
            android:exported="true"
            android:launchMode="singleTask">
            <meta-data android:name="distractionOptimized" android:value="true"/>
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.INFO" />
                <category android:name="android.intent.category.APP_MUSIC" />
            </intent-filter>
            <intent-filter>
                <action android:name="android.car.intent.action.MEDIA_TEMPLATE" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>

        <service
            android:name=".service.MediaConnectorService"
            android:exported="true">
            <intent-filter>
                <action android:name="com.android.car.media.MEDIA_CONNECTION"/>
            </intent-filter>
        </service>
    </application>
</manifest>
