<?xml version="1.0" encoding="utf-8"?>
<!--
  Copyright (C) 2016 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.radio">

    <!-- This permission is required to allow the radio to be muted. -->
    <uses-permission android:name="android.car.permission.CAR_CONTROL_AUDIO_SETTINGS" />
    <uses-permission android:name="android.car.permission.CAR_CONTROL_AUDIO_VOLUME" />
    <uses-permission android:name="android.car.permission.CAR_RADIO" />
    <uses-permission android:name="android.permission.ACCESS_BROADCAST_RADIO" />
    <uses-permission android:name="android.permission.MEDIA_CONTENT_CONTROL"/>
    <!-- Media Center permission to fetch and update the currently selected media source -->
    <uses-permission android:name="com.android.car.media.provider.READ_WRITE"/>

    <!-- 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="@string/app_name"
        android:icon="@drawable/logo_fm_radio"
        android:theme="@style/Theme.Radio"
        android:supportsRtl="true">

        <activity
            android:name=".RadioActivity"
            android:resizeableActivity="true"
            android:configChanges="uiMode"
            android:launchMode="singleTop"
            android:exported="true">
            <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.LAUNCHER" />
                <category android:name="android.intent.category.LAUNCHER_APP" />
            </intent-filter>
        </activity>

        <!-- RadioAppService is set to be executed in a separate process to make sure the reference
             app supports it. It's less optimal though, so it might be desirable to turn it off in
             production app. -->
        <!-- Keep in sync with RadioAppService#getMediaSourceComp. -->
        <service
            android:name=".service.RadioAppService"
            android:exported="true"
            android:process=":appService">
            <intent-filter>
                <action android:name="android.media.browse.MediaBrowserService" />
                <action android:name="android.car.intent.action.PLAY_BROADCASTRADIO" />
            </intent-filter>
        </service>
    </application>
</manifest>
