<!--
  ~ 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
  -->

<PreferenceScreen
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:settings="http://schemas.android.com/apk/res-auto"
    android:title="@string/security_settings_face_preference_title">

    <PreferenceCategory
        android:key="security_settings_face_unlock_category"
        android:title="@string/security_settings_face_settings_use_face_category"
        settings:controller="com.android.settings.biometrics.face.FaceUnlockCategoryPreferenceController">
        <com.android.settingslib.RestrictedSwitchPreference
            android:key="security_settings_face_keyguard"
            android:title="@string/biometric_settings_use_biometric_unlock_phone"
            settings:keywords="@string/keywords_face_unlock"
            settings:controller="com.android.settings.biometrics.face.FaceSettingsKeyguardPreferenceController"/>
        <SwitchPreference
            android:key="security_settings_face_app"
            android:title="@string/biometric_settings_use_biometric_for_apps"
            settings:keywords="@string/keywords_face_unlock"
            settings:controller="com.android.settings.biometrics.face.FaceSettingsAppPreferenceController"/>
        <com.android.settingslib.RestrictedSwitchPreference
            android:key="security_lockscreen_bypass"
            android:title="@string/lockscreen_bypass_title"
            android:summary="@string/lockscreen_bypass_summary"
            settings:keywords="@string/keywords_lockscreen_bypass"
            settings:controller="com.android.settings.biometrics.face.FaceSettingsLockscreenBypassPreferenceController" />
    </PreferenceCategory>

    <PreferenceCategory
        android:key="security_settings_face_manage_category"
        android:title="@string/security_settings_face_settings_preferences_category">
        <SwitchPreference
            android:key="security_settings_face_require_attention"
            android:title="@string/security_settings_face_settings_require_attention"
            android:summary="@string/security_settings_face_settings_require_attention_details"
            settings:keywords="@string/keywords_face_unlock"
            settings:controller="com.android.settings.biometrics.face.FaceSettingsAttentionPreferenceController"/>

        <SwitchPreference
            android:key="security_settings_face_require_confirmation"
            android:title="@string/security_settings_face_settings_require_confirmation"
            android:summary="@string/security_settings_face_settings_require_confirmation_details"
            settings:keywords="@string/keywords_face_unlock"
            settings:controller="com.android.settings.biometrics.face.FaceSettingsConfirmPreferenceController"/>

        <com.android.settingslib.RestrictedSwitchPreference
            android:key="biometric_settings_lockscreen_bypass"
            android:title="@string/lockscreen_bypass_title"
            android:summary="@string/lockscreen_bypass_summary"
            settings:keywords="@string/keywords_lockscreen_bypass"
            settings:controller="com.android.settings.biometrics.face.BiometricLockscreenBypassPreferenceController" />
    </PreferenceCategory>

    <com.android.settingslib.widget.LayoutPreference
        android:key="security_settings_face_delete_faces_container"
        android:title="@string/security_settings_face_settings_remove_face_model"
        android:selectable="false"
        android:layout="@layout/face_remove_button"/>

    <com.android.settingslib.widget.LayoutPreference
        android:key="security_settings_face_enroll_faces_container"
        android:title="@string/security_settings_face_settings_enroll"
        android:selectable="false"
        android:layout="@layout/face_enroll_button"/>

    <com.android.settingslib.widget.FooterPreference
        android:key="security_face_footer"
        settings:controller="com.android.settings.biometrics.face.FaceSettingsFooterPreferenceController" />
</PreferenceScreen>
