<?xml version="1.0" encoding="utf-8"?>
<!--
  Copyright (C) 2017 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="security_settings_password_sub_screen"
    android:title="@string/unlock_set_unlock_launch_picker_title"
    settings:searchable="false">

    <!-- available in pattern -->
    <SwitchPreference
        android:key="visiblepattern"
        android:title="@string/lockpattern_settings_enable_visible_pattern_title" />

    <!-- available in pin/pattern/password -->
    <com.android.settings.display.TimeoutListPreference
        android:key="lock_after_timeout"
        android:title="@string/lock_after_timeout"
        android:summary="@string/summary_placeholder"
        android:entries="@array/lock_after_timeout_entries"
        android:entryValues="@array/lock_after_timeout_values" />

    <!-- available in pin/pattern/password -->
    <SwitchPreference
        android:key="power_button_instantly_locks"
        android:title="@string/lockpattern_settings_enable_power_button_instantly_locks" />

</PreferenceScreen>
