<?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.
-->

<PreferenceScreen
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:settings="http://schemas.android.com/apk/res-auto"
    android:key="display_settings_screen"
    android:title="@string/display_settings"
    settings:keywords="@string/keywords_display"
    settings:initialExpandedChildrenCount="4">

    <com.android.settingslib.RestrictedPreference
        android:key="brightness"
        android:title="@string/brightness"
        settings:keywords="@string/keywords_display_brightness_level"
        settings:useAdminDisabledSummary="true"
        settings:userRestriction="no_config_brightness">
        <intent android:action="com.android.intent.action.SHOW_BRIGHTNESS_DIALOG" />
    </com.android.settingslib.RestrictedPreference>

    <com.android.settings.display.NightDisplayPreference
        android:key="night_display"
        android:title="@string/night_display_title"
        android:fragment="com.android.settings.display.NightDisplaySettings"
        android:widgetLayout="@null"
        settings:widgetLayout="@null"
        settings:keywords="@string/keywords_display_night_display" />

    <Preference
        android:key="auto_brightness_entry"
        android:title="@string/auto_brightness_title"
        android:summary="@string/auto_brightness_summary"
        android:fragment="com.android.settings.display.AutoBrightnessSettings"
        settings:controller="com.android.settings.display.AutoBrightnessPreferenceController" />

    <com.android.settingslib.RestrictedPreference
        android:key="wallpaper"
        android:title="@string/wallpaper_settings_title"
        settings:keywords="@string/keywords_display_wallpaper"
        settings:useAdminDisabledSummary="true">
        <intent
            android:targetPackage="@string/config_wallpaper_picker_package"
            android:targetClass="@string/config_wallpaper_picker_class" />
    </com.android.settingslib.RestrictedPreference>

    <!-- Cross-listed item, if you change this, also change it in power_usage_summary.xml -->
    <com.android.settings.TimeoutListPreference
        android:key="screen_timeout"
        android:title="@string/screen_timeout"
        android:summary="@string/summary_placeholder"
        android:entries="@array/screen_timeout_entries"
        android:entryValues="@array/screen_timeout_values"
        settings:keywords="@string/keywords_screen_timeout"/>

    <SwitchPreference
        android:key="auto_rotate"
        android:title="@string/accelerometer_title"
        settings:keywords="@string/keywords_auto_rotate"
        settings:controller="com.android.settings.display.AutoRotatePreferenceController"/>

    <Preference
        android:key="color_mode"
        android:title="@string/color_mode_title"
        android:fragment="com.android.settings.display.ColorModePreferenceFragment"
        settings:keywords="@string/keywords_color_mode" />

    <Preference
        android:key="font_size"
        android:title="@string/title_font_size"
        android:fragment="com.android.settings.accessibility.ToggleFontSizePreferenceFragment"
        settings:controller="com.android.settings.display.FontSizePreferenceController"
        settings:keywords="@string/keywords_display_font_size" />

    <com.android.settings.display.ScreenZoomPreference
        android:key="display_settings_screen_zoom"
        android:title="@string/screen_zoom_title"
        android:fragment="com.android.settings.display.ScreenZoomSettings"
        settings:keywords="@string/screen_zoom_keywords" />

    <SwitchPreference
        android:key="show_operator_name"
        android:title="@string/show_operator_name_title"
        android:summary="@string/show_operator_name_summary" />

    <Preference
        android:key="screensaver"
        android:title="@string/screensaver_settings_title"
        android:fragment="com.android.settings.dream.DreamSettings" />

    <com.android.settingslib.RestrictedPreference
        android:key="ambient_display"
        android:title="@string/ambient_display_screen_title"
        android:fragment="com.android.settings.display.AmbientDisplaySettings"
        settings:userRestriction="no_ambient_display" />

    <!-- Hide night mode for now
    <ListPreference
        android:key="night_mode"
        android:title="@string/night_mode_title"
        settings:keywords="@string/keywords_display_night_mode"
        android:summary="@string/night_mode_summary"
        android:entries="@array/night_mode_entries"
        android:entryValues="@array/night_mode_values" /> -->

    <SwitchPreference
        android:key="camera_gesture"
        android:title="@string/camera_gesture_title"
        android:summary="@string/camera_gesture_desc" />

    <SwitchPreference
        android:key="lift_to_wake"
        android:title="@string/lift_to_wake_title" />

    <SwitchPreference
        android:key="tap_to_wake"
        android:title="@string/tap_to_wake"
        android:summary="@string/tap_to_wake_summary" />

    <ListPreference
        android:key="theme"
        android:title="@string/color_theme"
        android:summary="@string/summary_placeholder" />

    <ListPreference
        android:key="systemui_theme"
        android:title="@string/device_theme"
        android:entries="@array/systemui_theme_entries"
        android:entryValues="@array/systemui_theme_values"
        settings:controller="com.android.settings.display.SystemUiThemePreferenceController" />

    <Preference
        android:key="vr_display_pref"
        android:title="@string/display_vr_pref_title"
        android:fragment="com.android.settings.display.VrDisplayPreferencePicker" />

</PreferenceScreen>
