<?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:id="@+id/title_group"
                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>