<?xml version="1.0" encoding="utf-8"?>
<!--
  Copyright (C) 2019 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="firmware_version_screen"
    android:title="@string/firmware_version"
    settings:keywords="@string/keywords_android_version">

    <!-- Android version -->
    <Preference
        android:key="os_firmware_version"
        android:title="@string/firmware_version"
        android:summary="@string/summary_placeholder"
        android:selectable="false"
        settings:enableCopying="true"
        settings:controller="com.android.settings.deviceinfo.firmwareversion.FirmwareVersionDetailPreferenceController"/>

    <!-- Security patch -->
    <Preference
        android:key="security_key"
        android:title="@string/security_patch"
        settings:enableCopying="true"
        settings:controller="com.android.settings.deviceinfo.firmwareversion.SecurityPatchLevelPreferenceController"/>

    <!-- Mainline module version -->
    <Preference
        android:key="module_version"
        android:title="@string/module_version"
        android:summary="@string/summary_placeholder"
        android:selectable="false"
        settings:enableCopying="true"
        settings:controller="com.android.settings.deviceinfo.firmwareversion.MainlineModuleVersionPreferenceController"/>

    <!-- Baseband -->
    <Preference
        android:key="base_band"
        android:title="@string/baseband_version"
        android:summary="@string/summary_placeholder"
        android:selectable="false"
        settings:enableCopying="true"
        settings:controller="com.android.settings.deviceinfo.firmwareversion.BasebandVersionPreferenceController"/>

    <!-- Kernel -->
    <Preference
        android:key="kernel_version"
        android:title="@string/kernel_version"
        android:summary="@string/summary_placeholder"
        android:selectable="false"
        settings:enableCopying="true"
        settings:controller="com.android.settings.deviceinfo.firmwareversion.KernelVersionPreferenceController"/>

    <!-- Build -->
    <Preference
        android:key="os_build_number"
        android:title="@string/build_number"
        android:summary="@string/summary_placeholder"
        android:selectable="false"
        settings:enableCopying="true"
        settings:controller="com.android.settings.deviceinfo.firmwareversion.SimpleBuildNumberPreferenceController"/>

</PreferenceScreen>
