<?xml version="1.0" encoding="utf-8"?>
<!--
     Copyright (C) 2021 The LineageOS 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>
    <!-- Pickup gesture -->
    <string-array name="pick_up_gesture_entries" translatable="false">
        <item>@string/disabled</item>
        <item>@string/pick_up_gesture_summary</item>
        <item>@string/pick_up_wake_gesture_summary</item>
    </string-array>

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