<?xml version="1.0" encoding="utf-8"?>
<com.lemenzo.camera.ui.SettingsFrameLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/root"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <View
        android:id="@+id/background"
        android:layout_height="match_parent"
        android:layout_width="match_parent"/>

    <RelativeLayout
        android:id="@+id/settings_frame"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <LinearLayout
            android:id="@+id/settings_dialog"
            android:layout_centerInParent="true"
            android:layout_marginHorizontal="@dimen/settings_dialog_horizontal_margin"
            android:layout_gravity="center_vertical"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:paddingTop="@dimen/settings_dialog_padding_vertical"
            android:layout_marginTop="16dp"
            android:orientation="vertical"
            tools:ignore="UselessParent">

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:orientation="horizontal"
                android:layout_marginHorizontal="@dimen/settings_dialog_padding_horizontal"
                android:baselineAligned="false">

                <FrameLayout
                    android:layout_weight="1"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content">

                    <ToggleButton
                        android:id="@+id/location_toggle"
                        android:layout_width="@dimen/toggle_button_size"
                        android:layout_height="@dimen/toggle_button_size"
                        android:textOn=""
                        android:textOff=""
                        android:checked="false"
                        android:layout_gravity="center"
                        android:background="@drawable/location"
                        android:text="@string/toggle_button"/>

                </FrameLayout>

                <FrameLayout
                    android:layout_weight="1"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content">

                    <!-- dp was used instead of sp to avoid resizing text
                    based on user pref. -->
                    <ToggleButton
                        android:id="@+id/aspect_ratio_toggle"
                        android:layout_gravity="center"
                        android:layout_width="@dimen/toggle_button_size"
                        android:layout_height="@dimen/toggle_button_size"
                        android:textOn="@string/aspect_ratio_16_9"
                        android:textOff="@string/aspect_ratio_4_3"
                        android:textSize="17dp"
                        android:textColor="?attr/colorOnPrimary"
                        android:checked="false"
                        android:scaleType="centerCrop"
                        android:background="@drawable/aspect_ratio"
                        android:text="@string/aspect_ratio"
                        tools:ignore="SpUsage"/>

                </FrameLayout>

                <FrameLayout
                    android:layout_weight="1"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content">

                    <ToggleButton
                        android:id="@+id/torch_toggle_option"
                        android:layout_width="@dimen/toggle_button_size"
                        android:layout_height="@dimen/toggle_button_size"
                        android:layout_gravity="center"
                        android:textOn=""
                        android:textOff=""
                        android:checked="false"
                        android:scaleType="centerCrop"
                        android:background="@drawable/torch"
                        android:text="@string/aspect_ratio"/>

                </FrameLayout>

                <FrameLayout
                    android:layout_weight="1"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content">

                    <ImageView
                        android:id="@+id/flash_toggle_option"
                        android:src="@drawable/flash_off_circle"
                        android:layout_gravity="center"
                        android:layout_width="@dimen/toggle_button_size"
                        android:layout_height="@dimen/toggle_button_size"
                        android:contentDescription="@string/toggle_flash"/>

                </FrameLayout>

                <FrameLayout
                    android:layout_weight="1"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content">

                    <ImageView
                        android:id="@+id/grid_toggle_option"
                        android:src="@drawable/grid_off_circle"
                        android:layout_gravity="center"
                        android:layout_width="@dimen/toggle_button_size"
                        android:layout_height="@dimen/toggle_button_size"
                        android:contentDescription="@string/grid_toggle"/>

                </FrameLayout>

            </LinearLayout>

            <com.google.android.material.divider.MaterialDivider
                android:layout_width="match_parent"
                android:layout_height="1dp"
                android:layout_marginTop="14dp"
                android:layout_marginHorizontal="@dimen/settings_dialog_padding_horizontal" />

            <ScrollView
                android:id="@+id/settings_scrollview"
                android:layout_height="wrap_content"
                android:layout_width="wrap_content"
                android:fadeScrollbars="false">

                <LinearLayout
                    android:id="@+id/settings_scrollview_content"
                    android:paddingHorizontal="@dimen/settings_dialog_padding_horizontal"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:orientation="vertical">

                    <LinearLayout
                        android:id="@+id/self_illumination_setting"
                        android:layout_width="match_parent"
                        android:layout_height="@dimen/settings_dialog_menu_item_height"
                        android:paddingVertical="@dimen/settings_dialog_menu_item_vertical"
                        android:paddingHorizontal="@dimen/settings_dialog_menu_item_horizontal"
                        android:orientation="horizontal"
                        android:gravity="center_vertical">

                        <TextView
                            android:layout_height="wrap_content"
                            android:layout_width="wrap_content"
                            android:layout_gravity="center_vertical"
                            android:text="@string/self_illumination"/>

                        <LinearLayout
                            android:id="@+id/self_illumination_switch_container"
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:gravity="end|center_vertical">

                            <com.google.android.material.materialswitch.MaterialSwitch
                                android:id="@+id/self_illumination_switch"
                                android:layout_width="wrap_content"
                                android:layout_height="@dimen/settings_dialog_switch_height"
                                android:scaleX="@integer/settings_dialog_switch_scale"
                                android:scaleY="@integer/settings_dialog_switch_scale"
                                android:checked="false"/>

                        </LinearLayout>

                    </LinearLayout>

                    <LinearLayout
                        android:id="@+id/video_quality_setting"
                        android:layout_width="match_parent"
                        android:layout_height="@dimen/settings_dialog_menu_item_height"
                        android:paddingVertical="@dimen/settings_dialog_menu_item_vertical"
                        android:paddingHorizontal="@dimen/settings_dialog_menu_item_horizontal"
                        android:layout_gravity="end"
                        android:gravity="center_vertical"
                        android:orientation="horizontal">

                        <TextView
                            android:layout_height="wrap_content"
                            android:layout_width="wrap_content"
                            android:layout_gravity="center_vertical"
                            android:text="@string/video_quality"/>

                        <FrameLayout
                            android:layout_height="wrap_content"
                            android:padding="0dp"
                            android:layout_margin="0dp"
                            android:layout_width="match_parent">

                            <Spinner
                                android:id="@+id/video_quality_spinner"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:checked="true"
                                android:padding="0dp"
                                android:layout_margin="0dp"
                                android:layout_gravity="end"/>

                        </FrameLayout>
                    </LinearLayout>

                    <LinearLayout
                        android:id="@+id/include_audio_setting"
                        android:layout_width="match_parent"
                        android:layout_height="@dimen/settings_dialog_menu_item_height"
                        android:paddingVertical="@dimen/settings_dialog_menu_item_vertical"
                        android:paddingHorizontal="@dimen/settings_dialog_menu_item_horizontal"
                        android:orientation="horizontal"
                        android:gravity="center_vertical">

                        <TextView
                            android:layout_height="wrap_content"
                            android:layout_width="wrap_content"
                            android:layout_gravity="center_vertical"
                            android:text="@string/include_audio"/>

                        <LinearLayout
                            android:id="@+id/include_audio_switch_container"
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:gravity="end|center_vertical">

                            <com.google.android.material.materialswitch.MaterialSwitch
                                android:id="@+id/include_audio_switch"
                                android:layout_width="wrap_content"
                                android:layout_height="@dimen/settings_dialog_switch_height"
                                android:scaleX="@integer/settings_dialog_switch_scale"
                                android:scaleY="@integer/settings_dialog_switch_scale"
                                android:checked="true"/>

                        </LinearLayout>

                    </LinearLayout>

                    <LinearLayout
                        android:id="@+id/enable_eis_setting"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:paddingVertical="@dimen/settings_dialog_menu_item_vertical"
                        android:paddingHorizontal="@dimen/settings_dialog_menu_item_horizontal"
                        android:orientation="horizontal"
                        android:visibility="gone">

                        <TextView
                            android:layout_height="wrap_content"
                            android:layout_width="wrap_content"
                            android:layout_gravity="center_vertical"
                            android:text="@string/enable_eis"/>

                        <LinearLayout
                            android:id="@+id/enable_eis_switch_container"
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:gravity="end|center_vertical">

                            <com.google.android.material.materialswitch.MaterialSwitch
                                android:id="@+id/enable_eis_switch"
                                android:layout_width="wrap_content"
                                android:layout_height="@dimen/settings_dialog_switch_height"
                                android:scaleX="@integer/settings_dialog_switch_scale"
                                android:scaleY="@integer/settings_dialog_switch_scale"
                                android:checked="true"/>

                        </LinearLayout>

                    </LinearLayout>

                    <LinearLayout
                        android:id="@+id/wait_for_focus_lock_setting"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:paddingVertical="@dimen/settings_dialog_menu_item_vertical"
                        android:paddingHorizontal="@dimen/settings_dialog_menu_item_horizontal"
                        android:orientation="horizontal">

                        <TextView
                            android:layout_height="wrap_content"
                            android:layout_width="wrap_content"
                            android:layout_gravity="center_vertical"
                            android:text="@string/wait_for_focus_lock"/>

                        <LinearLayout
                            android:id="@+id/wait_for_focus_lock_container"
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:gravity="end|center_vertical">

                            <com.google.android.material.materialswitch.MaterialSwitch
                                android:id="@+id/wait_for_focus_lock_switch"
                                android:layout_width="wrap_content"
                                android:layout_height="@dimen/settings_dialog_switch_height"
                                android:scaleX="@integer/settings_dialog_switch_scale"
                                android:scaleY="@integer/settings_dialog_switch_scale"
                                android:checked="true"/>

                        </LinearLayout>

                    </LinearLayout>


                    <LinearLayout
                        android:layout_width="match_parent"
                        android:layout_height="@dimen/settings_dialog_menu_item_height"
                        android:paddingVertical="@dimen/settings_dialog_menu_item_vertical"
                        android:paddingHorizontal="@dimen/settings_dialog_menu_item_horizontal"
                        android:layout_gravity="end"
                        android:gravity="center_vertical"
                        android:orientation="horizontal">

                        <TextView
                            android:layout_height="wrap_content"
                            android:layout_width="wrap_content"
                            android:layout_gravity="center_vertical"
                            android:text="@string/focus_timeout"/>

                        <FrameLayout
                            android:layout_height="wrap_content"
                            android:padding="0dp"
                            android:layout_margin="0dp"
                            android:layout_width="match_parent">

                            <Spinner
                                android:id="@+id/focus_timeout_spinner"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:entries="@array/time_options"
                                android:checked="true"
                                android:padding="0dp"
                                android:layout_margin="0dp"
                                android:layout_gravity="end"/>

                        </FrameLayout>
                    </LinearLayout>

                    <LinearLayout
                        android:id="@+id/timer_setting"
                        android:layout_width="match_parent"
                        android:layout_height="@dimen/settings_dialog_menu_item_height"
                        android:paddingVertical="@dimen/settings_dialog_menu_item_vertical"
                        android:paddingHorizontal="@dimen/settings_dialog_menu_item_horizontal"
                        android:layout_gravity="end"
                        android:gravity="center_vertical"
                        android:orientation="horizontal">

                        <TextView
                            android:layout_height="wrap_content"
                            android:layout_width="wrap_content"
                            android:layout_gravity="center_vertical"
                            android:text="@string/timer"/>

                        <FrameLayout
                            android:layout_height="wrap_content"
                            android:padding="0dp"
                            android:layout_margin="0dp"
                            android:layout_width="match_parent">

                            <Spinner
                                android:id="@+id/timer_spinner"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:entries="@array/time_options"
                                android:checked="true"
                                android:padding="0dp"
                                android:layout_margin="0dp"
                                android:layout_gravity="end"/>

                        </FrameLayout>
                    </LinearLayout>

                    <!-- Extra padding for the bottom of the list -->
                    <View
                        android:layout_width="match_parent"
                        android:layout_height="8dp" />

                </LinearLayout>

            </ScrollView>

        </LinearLayout>

        <TextView
            android:id="@+id/more_settings"
            android:visibility="invisible"
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"
            android:layout_below="@id/settings_dialog"
            android:layout_alignParentEnd="true"
            android:background="@drawable/settings_bg"
            android:foreground="@drawable/more_settings_bg"
            android:layout_marginEnd="@dimen/settings_dialog_horizontal_margin"
            android:layout_marginTop="8dp"
            android:paddingHorizontal="18dp"
            android:paddingVertical="10dp"
            android:text="@string/more_settings"/>

    </RelativeLayout>

</com.lemenzo.camera.ui.SettingsFrameLayout>
