<?xml version="1.0" encoding="utf-8"?>
<!--
  ~ Copyright (C) 2023 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"
    xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="com.android.systemui"
    android:sharedUserId="android.uid.systemui"
    coreApp="true">

    <original-package android:name="com.android.systemui"/>

    <uses-permission android:name="android.permission.BROADCAST_OPTION_INTERACTIVE" />
    <uses-permission android:name="android.permission.CHANGE_CONFIGURATION" />
    <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS" />
    <uses-permission android:name="android.permission.MANAGE_ROLE_HOLDERS" />
    <uses-permission android:name="android.permission.MANAGE_SENSOR_PRIVACY" />
    <uses-permission android:name="android.permission.MANAGE_USB" />
    <uses-permission android:name="android.permission.STATUS_BAR_SERVICE" />
    <uses-permission android:name="android.permission.HDMI_CEC" />

    <application
        android:appComponentFactory="com.android.systemui.tv.TvSystemUIAppComponentFactory"
        tools:replace="android:appComponentFactory">

        <!-- started from HdmiCecLocalDevicePlayback -->
        <activity
            android:name=".tv.hdmi.HdmiCecSetMenuLanguageActivity"
            android:excludeFromRecents="true"
            android:exported="true"
            android:finishOnCloseSystemDialogs="true"
            android:launchMode="singleTop"
            android:permission="android.permission.CHANGE_CONFIGURATION"
            android:theme="@style/BottomSheet" />

        <!-- started from HdmiCecLocalDevicePlayback -->
        <activity android:name=".tv.hdmi.HdmiCecActiveSourceLostActivity"
                  android:exported="true"
                  android:launchMode="singleTop"
                  android:permission="android.permission.HDMI_CEC"
                  android:theme="@style/BottomSheet"
                  android:finishOnCloseSystemDialogs="true"
                  android:showForAllUsers="true">
        </activity>

        <!-- started from TvNotificationPanel -->
        <activity
            android:name=".tv.notifications.TvNotificationPanelActivity"
            android:excludeFromRecents="true"
            android:launchMode="singleTask"
            android:noHistory="true"
            android:theme="@style/TvSidePanelTheme" />

        <!-- started from SensoryPrivacyService -->
        <activity
            android:name=".tv.sensorprivacy.TvSensorPrivacyChangedActivity"
            android:exported="true"
            android:finishOnCloseSystemDialogs="true"
            android:launchMode="singleTop"
            android:permission="android.permission.MANAGE_SENSOR_PRIVACY"
            android:showForAllUsers="true"
            android:theme="@style/BottomSheet" />

        <!-- started from SensoryPrivacyService -->
        <activity
            android:name=".tv.sensorprivacy.TvUnblockSensorActivity"
            android:exported="true"
            android:finishOnCloseSystemDialogs="true"
            android:launchMode="singleTop"
            android:permission="android.permission.MANAGE_SENSOR_PRIVACY"
            android:showForAllUsers="true"
            android:theme="@style/BottomSheet" />

        <!-- started from UsbDeviceSettingsManager -->
        <activity
            android:name=".tv.usb.TvUsbConfirmActivity"
            android:excludeFromRecents="true"
            android:exported="true"
            android:finishOnCloseSystemDialogs="true"
            android:launchMode="singleTop"
            android:permission="android.permission.MANAGE_USB"
            android:theme="@style/BottomSheet" />

        <!-- started from UsbDeviceSettingsManager -->
        <activity
            android:name=".tv.usb.TvUsbPermissionActivity"
            android:excludeFromRecents="true"
            android:exported="true"
            android:finishOnCloseSystemDialogs="true"
            android:launchMode="singleTop"
            android:permission="android.permission.MANAGE_USB"
            android:theme="@style/BottomSheet" />

        <!-- started from TvMediaOutputDialogFactory -->
        <activity android:name=".tv.media.TvMediaOutputDialogActivity"
                  android:excludeFromRecents="true"
                  android:exported="true"
                  android:finishOnCloseSystemDialogs="true"
                  android:launchMode="singleTop"
                  android:theme="@style/SidePanel">
            <intent-filter>
                <action android:name="com.android.systemui.TV_MEDIA_OUTPUT_DIALOG" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>

    </application>
</manifest>