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

<FrameLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/panel_container"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/settings_panel_background" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">

        <LinearLayout
            android:id="@+id/panel_header"
            android:layout_width="match_parent"
            android:layout_height="94dp"
            android:gravity="start|center_vertical"
            android:orientation="horizontal"
            android:visibility="gone">

            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:orientation="horizontal"
                android:layout_marginStart="16dp">
                <ImageView
                    android:id="@+id/title_icon"
                    android:layout_width="@dimen/output_switcher_panel_icon_size"
                    android:layout_height="@dimen/output_switcher_panel_icon_size"/>
            </LinearLayout>

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginStart="16dp"
                android:layout_marginEnd="16dp"
                android:orientation="vertical">
                <TextView
                    android:id="@+id/header_title"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:ellipsize="end"
                    android:maxLines="1"
                    android:textColor="?android:attr/textColorPrimary"
                    android:textSize="20sp"/>

                <TextView
                    android:id="@+id/header_subtitle"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:ellipsize="end"
                    android:maxLines="1" />

            </LinearLayout>
        </LinearLayout>

        <TextView
            android:id="@+id/panel_title"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:paddingBottom="24dp"
            android:paddingTop="18dp"
            android:textColor="?android:attr/textColorPrimary"
            android:textSize="20sp"/>

        <include layout="@layout/horizontal_divider"/>

        <!-- Note: There is a landscape version of panel_slice_list which supports scrolling. -->
        <include layout="@layout/panel_slice_list"/>

        <include
            android:id="@+id/footer_divider"
            layout="@layout/horizontal_divider"
            android:visibility="gone"/>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:paddingTop="8dp"
            android:paddingBottom="8dp">

            <Button
                android:id="@+id/see_more"
                style="@android:style/Widget.DeviceDefault.Button.Borderless.Colored"
                android:layout_width="wrap_content"
                android:layout_height="48dp"
                android:layout_marginStart="12dp"
                android:text="@string/see_more"/>

            <Space
                android:layout_weight="1"
                android:layout_width="0dp"
                android:layout_height="match_parent" />

            <Button
                android:id="@+id/done"
                style="@android:style/Widget.DeviceDefault.Button.Borderless.Colored"
                android:layout_width="wrap_content"
                android:layout_height="48dp"
                android:layout_marginEnd="12dp"
                android:text="@string/done"/>
        </LinearLayout>
    </LinearLayout>
</FrameLayout>