<?xml version="1.0" encoding="utf-8"?>
<!--
     Copyright (C) 2022 The LeafOS 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.
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
    <!-- QS brightness slider -->
    <string-array name="qs_brightness_slider_entries" translatable="false">
        <item>@string/qs_brightness_slider_never</item>
        <item>@string/qs_brightness_slider_expanded</item>
        <item>@string/qs_brightness_slider_always</item>
    </string-array>

    <string-array name="qs_brightness_slider_values" translatable="false">
        <item>0</item>
        <item>1</item>
        <item>2</item>
    </string-array>

    <string-array name="qs_brightness_slider_position_entries" translatable="false">
        <item>@string/qs_brightness_slider_position_top</item>
        <item>@string/qs_brightness_slider_position_bottom</item>
    </string-array>

    <string-array name="qs_brightness_slider_position_values" translatable="false">
        <item>0</item>
        <item>1</item>
    </string-array>

    <!-- QS tile shape -->
    <string-array name="qs_tile_shape_entries">
        <item>@string/qs_tile_round</item>
        <item>@string/qs_tile_rect</item>
        <item>@string/qs_tile_mix</item>
    </string-array>

    <string-array name="qs_tile_shape_values">
        <item>0</item>
        <item>1</item>
        <item>2</item>
    </string-array>
</resources>
