<?xml version="1.0" encoding="utf-8"?>
<!--
     Copyright (C) 2020 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>
    <!-- Whether a software navigation bar should be shown. NOTE: in the future this may be
         autodetected from the Configuration. -->
    <bool name="config_showNavigationBar">true</bool>

    <!-- Boolean indicating if restoring network selection should be skipped -->
    <!-- The restoring is handled by modem if it is true-->
    <bool name="skip_restoring_network_selection">true</bool>

    <!-- Set to true to add links to Cell Broadcast app from Settings and MMS app. -->
    <bool name="config_cellBroadcastAppLinks">true</bool>

    <!-- M user agent string -->
    <string name="config_mms_user_agent">Android-Mms/2.0</string>

    <!-- MMS user agent prolfile url -->
    <string name="config_mms_user_agent_profile_url">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>

     <!-- This string array should be overridden by the device to present a list of network
         attributes.  This is used by the connectivity manager to decide which networks can coexist
         based on the hardware -->
    <!-- An Array of "[Connection name],[ConnectivityManager.TYPE_xxxx],
         [associated radio-type],[priority],[restoral-timer(ms)],[dependencyMet]  -->
    <!-- the 5th element "resore-time" indicates the number of milliseconds to delay
         before automatically restore the default connection.  Set -1 if the connection
         does not require auto-restore. -->
    <!-- the 6th element indicates boot-time dependency-met value. -->
    <string-array name="networkAttributes">
        <item>wifi,1,1,1,-1,true</item>
        <item>mobile,0,0,0,-1,true</item>
        <item>mobile_mms,2,0,4,60000,true</item>
        <item>mobile_supl,3,0,2,60000,true</item>
        <item>mobile_dun,4,0,2,60000,true</item>
        <item>mobile_hipri,5,0,3,60000,true</item>
        <item>mobile_fota,10,0,2,60000,true</item>
        <item>mobile_ims,11,0,2,60000,true</item>
        <item>mobile_cbs,12,0,2,60000,true</item>
        <item>bluetooth,7,7,2,-1,true</item>
        <item>mobile_emergency,15,0,5,-1,true</item>
        <item>ethernet,9,9,9,-1,true</item>
    </string-array>

    <!-- Configure mobile tcp buffer sizes in the form:
         rat-name:rmem_min,rmem_def,rmem_max,wmem_min,wmem_def,wmem_max
         If no value is found for the rat-name in use, the system default will be applied.
    -->
    <string-array name="config_mobile_tcp_buffers">
        <item>5gnr:2097152,6291456,16777216,512000,2097152,8388608</item>
        <item>lte:2097152,4194304,8388608,262144,524288,1048576</item>
        <item>lte_ca:4096,6291456,12582912,4096,1048576,2097152</item>
        <item>umts:4094,87380,1220608,4096,16384,1220608</item>
        <item>hspa:4094,87380,1220608,4096,16384,1220608</item>
        <item>hsupa:4094,87380,1220608,4096,16384,1220608</item>
        <item>hsdpa:4094,87380,1220608,4096,16384,1220608</item>
        <item>hspap:4094,87380,1220608,4096,16384,1220608</item>
        <item>edge:4093,26280,35040,4096,16384,35040</item>
        <item>gprs:4092,8760,11680,4096,8760,11680</item>
        <item>evdo:4094,87380,524288,4096,16384,262144</item>
    </string-array>

    <!-- This string array should be overridden by the device to present a list of radio
         attributes.  This is used by the connectivity manager to decide which networks can coexist
         based on the hardware -->
    <!-- An Array of "[ConnectivityManager connectionType],
                      [# simultaneous connection types]"  -->
    <string-array name="radioAttributes">
        <item>"1,1"</item>
        <item>"0,1"</item>
        <item>"7,1"</item>
    </string-array>

    <!-- Power Management: Specifies whether to decouple the interactive state of the
         device from the display on/off state.

         When false, setInteractive(..., true) will be called before the display is turned on
         and setInteractive(..., false) will be called after the display is turned off.
         This mode provides best compatibility for devices that expect the interactive
         state to be tied to the display state.

         When true, setInteractive(...) will be called independently of whether the display
         is being turned on or off.  This mode enables the power manager to reduce
         clocks and disable the touch controller while the display is on.

         This resource should be set to "true" when a doze component has been specified
         to maximize power savings but not all devices support it.

         Refer to power.h for details.
    -->
    <bool name="config_powerDecoupleInteractiveModeFromDisplay">false</bool>

    <!-- Flag specifying whether VoLTE is available on device -->
    <bool name="config_device_volte_available">true</bool>

    <!-- Flag specifying whether VoLTE is available on device -->
    <bool name="config_device_vt_available">true</bool>

    <!-- Flag specifying whether WFC over IMS is available on device -->
    <bool name="config_device_wfc_ims_available">true</bool>

    <!-- Flag specifying whether VoLTE should be available for carrier: independent of
         carrier provisioning. If false: hard disabled. If true: then depends on carrier
         provisioning, availability etc -->
    <bool name="config_carrier_volte_available">true</bool>

    <!-- Flag specifying whether WFC over IMS should be available for carrier: independent of
         carrier provisioning. If false: hard disabled. If true: then depends on carrier
         provisioning, availability etc -->
    <bool name="config_carrier_wfc_ims_available">true</bool>

    <!-- IWLAN data service package name to bind to by default. If none is specified in an overlay, an
         empty string is passed in -->
    <string name="config_wlan_data_service_package">vendor.qti.iwlan</string>

    <!-- IWLAN network service package name to bind to by default. If none is specified in an overlay, an
         empty string is passed in -->
    <string name="config_wlan_network_service_package">vendor.qti.iwlan</string>

    <!-- Telephony qualified networks service package name to bind to by default. -->
    <string name="config_qualified_networks_service_package">vendor.qti.iwlan</string>

    <!-- Config determines whether to update phone object when voice registration
         state changes. Voice radio tech change will always trigger an update of
         phone object irrespective of this config -->
    <bool name="config_switch_phone_on_voice_reg_state_change">false</bool>

    <!-- Is the device capable of hot swapping an ICC Card -->
    <bool name="config_hotswapCapable">true</bool>

    <!-- Whether the Unprocessed audio source supports the required frequency range and level -->
    <bool name="config_supportAudioSourceUnprocessed">true</bool>

    <!-- Idle current for bluetooth controller. 0 by default-->
    <integer name="config_bluetooth_idle_cur_ma">3</integer>

    <!-- Rx current for bluetooth controller. 0 by default-->
    <integer name="config_bluetooth_rx_cur_ma">20</integer>

    <!-- Tx current for bluetooth controller. 0 by default-->
    <integer name="config_bluetooth_tx_cur_ma">33</integer>

    <!-- Operating voltage for bluetooth controller. 0 by default-->
    <integer name="config_bluetooth_operating_voltage_mv">3700</integer>

    <!-- Boolean indicating whether the HWC setColorTransform function can be performed efficiently
         in hardware. -->
    <bool name="config_setColorTransformAccelerated">true</bool>

    <!-- Flag indicating whether the we should enable the automatic brightness in Settings.
         Software implementation will be used if config_hardware_auto_brightness_available is not set -->
    <bool name="config_automatic_brightness_available">true</bool>

    <!-- When true use the linux /dev/input/event subsystem to detect the switch changes
         on the headphone/microphone jack. When false use the older uevent framework. -->
    <bool name="config_useDevInputEventForAudioJack">true</bool>

    <!-- Number of physical SIM slots on the device. This includes both eSIM and pSIM slots, and
         is not necessarily the same as the number of phones/logical modems supported by the device.
         For example, a multi-sim device can have 2 phones/logical modems, but 3 physical slots,
         or a single SIM device can have 1 phones/logical modems, but 2 physical slots (one eSIM
         and one pSIM) -->
    <integer name="config_num_physical_slots">2</integer>

    <!-- Is the notification LED intrusive? Used to decide if there should be a disable option -->
    <bool name="config_intrusiveNotificationLed">true</bool>

    <!-- Height of the status bar in portrait -->
    <dimen name="status_bar_height_portrait">128px</dimen>

    <!-- Height of the status bar in landscape -->
    <dimen name="status_bar_height_landscape">24dp</dimen>

    <!-- Radius of the software rounded corners at the top of the display in its natural
        orientation. If zero, the value of rounded_corner_radius is used. -->
    <dimen name="rounded_corner_radius_top">93px</dimen>

    <!-- Radius of the software rounded corners at the bottom of the display in its natural
        orientation. If zero, the value of rounded_corner_radius is used. -->
    <dimen name="rounded_corner_radius_bottom">93px</dimen>


    <!-- The bounding path of the cutout region of the main built-in display.
         Must either be empty if there is no cutout region, or a string that is parsable by
         {@link android.util.PathParser}.
         The path is assumed to be specified in display coordinates with pixel units and in
         the display's native orientation, with the origin of the coordinate system at the
         center top of the display.
         To facilitate writing device-independent emulation overlays, the marker `@dp` can be
         appended after the path string to interpret coordinates in dp instead of px units.
         Note that a physical cutout should be configured in pixels for the best results.
         Example for a 10px x 10px square top-center cutout:
                <string ...>M -5,0 L -5,10 L 5,10 L 5,0 Z</string>
         Example for a 10dp x 10dp square top-center cutout:
                <string ...>M -5,0 L -5,10 L 5,10 L 5,0 Z @dp</string>
         @see https://www.w3.org/TR/SVG/paths.html#PathData
    -->
    <string name="config_mainBuiltInDisplayCutout">
        M 0,0 H -36 V 100 H 36 V 0 H 0 Z
    </string>

    <!-- Array of hysteresis constraint values for brightening, represented as tenths of a
         percent. The length of this array is assumed to be one greater than
         config_ambientThresholdLevels. The brightening threshold is calculated as
         lux * (1.0f + CONSTRAINT_VALUE). When the current lux is higher than this threshold,
         the screen brightness is recalculated. See the config_ambientThresholdLevels
         description for how the constraint value is chosen. -->
    <array name="config_ambientBrighteningThresholds">
        <item>5</item>
        <item>5</item>
        <item>10</item>
        <item>30</item>
        <item>100</item>
        <item>400</item>
        <item>600</item>
        <item>1000</item>
    </array>

    <!-- Array of hysteresis constraint values for darkening, represented as tenths of a
         percent. The length of this array is assumed to be one greater than
         config_ambientThresholdLevels. The darkening threshold is calculated as
         lux * (1.0f - CONSTRAINT_VALUE). When the current lux is lower than this threshold,
         the screen brightness is recalculated. See the config_ambientThresholdLevels
         description for how the constraint value is chosen. -->
    <array name="config_ambientDarkeningThresholds">
        <item>800</item>
        <item>800</item>
        <item>800</item>
        <item>800</item>
        <item>800</item>
        <item>500</item>
        <item>500</item>
        <item>500</item>
    </array>

    <!-- Array of ambient lux threshold values. This is used for determining hysteresis constraint
         values by calculating the index to use for lookup and then setting the constraint value
         to the corresponding value of the array. The new brightening hysteresis constraint value
         is the n-th element of config_ambientBrighteningThresholds, and the new darkening
         hysteresis constraint value is the n-th element of config_ambientDarkeningThresholds.
         The (zero-based) index is calculated as follows: (MAX is the largest index of the array)
         condition                       calculated index
         value < level[0]                0
         level[n] <= value < level[n+1]  n+1
         level[MAX] <= value             MAX+1 -->
    <array name="config_ambientThresholdLevels">
        <item>2</item>
        <item>10</item>
        <item>30</item>
        <item>100</item>
        <item>800</item>
        <item>2000</item>
        <item>4000</item>
    </array>

    <!-- Array of desired screen brightness in nits corresponding to the lux values
         in the config_autoBrightnessLevels array. As with config_screenBrightnessMinimumNits and
         config_screenBrightnessMaximumNits, the display brightness is defined as the measured
         brightness of an all-white image.

         If this is defined then:
            - config_autoBrightnessLcdBacklightValues should not be defined
            - config_screenBrightnessNits must be defined
            - config_screenBrightnessBacklight must be defined

         This array should have size one greater than the size of the config_autoBrightnessLevels
         array. The brightness values must be non-negative and non-decreasing. This must be
         overridden in platform specific overlays -->
    <array name="config_autoBrightnessDisplayValuesNits">
        <item>5</item>
        <item>5</item>
        <item>5</item>
        <item>5</item>
        <item>15</item>
        <item>24</item>
        <item>37</item>
        <item>47</item>
        <item>61</item>
        <item>76</item>
        <item>83</item>
        <item>83</item>
        <item>83</item>
        <item>87</item>
        <item>93</item>
        <item>107</item>
        <item>117</item>
        <item>124</item>
        <item>133</item>
        <item>166</item>
        <item>182</item>
        <item>270</item>
        <item>315</item>
        <item>373</item>
        <item>442</item>
        <item>455</item>
    </array>

    <!-- Array of output values for LCD backlight corresponding to the lux values
         in the config_autoBrightnessLevels array.  This array should have size one greater
         than the size of the config_autoBrightnessLevels array.
         The brightness values must be between 0 and 255 and be non-decreasing.
         This must be overridden in platform specific overlays -->
    <array name="config_autoBrightnessLcdBacklightValues">
        <item>3</item>
        <item>3</item>
        <item>3</item>
        <item>3</item>
        <item>8</item>
        <item>13</item>
        <item>20</item>
        <item>25</item>
        <item>33</item>
        <item>41</item>
        <item>45</item>
        <item>45</item>
        <item>45</item>
        <item>47</item>
        <item>50</item>
        <item>58</item>
        <item>63</item>
        <item>67</item>
        <item>72</item>
        <item>90</item>
        <item>99</item>
        <item>150</item>
        <item>175</item>
        <item>208</item>
        <item>248</item>
        <item>255</item>
    </array>

    <!-- Array of light sensor lux values to define our levels for auto backlight brightness support.
         The N entries of this array define N + 1 control points as follows:
         (1-based arrays)
         Point 1:            (0, value[1]):             lux <= 0
         Point 2:     (level[1], value[2]):  0        < lux <= level[1]
         Point 3:     (level[2], value[3]):  level[2] < lux <= level[3]
         ...
         Point N+1: (level[N], value[N+1]):  level[N] < lux
         The control points must be strictly increasing.  Each control point
         corresponds to an entry in the brightness backlight values arrays.
         For example, if lux == level[1] (first element of the levels array)
         then the brightness will be determined by value[2] (second element
         of the brightness values array).
         Spline interpolation is used to determine the auto-brightness
         backlight values for lux levels between these control points.
         Must be overridden in platform specific overlays -->
    <array name="config_autoBrightnessLevels">
        <item>1</item>
        <item>2</item>
        <item>4</item>
        <item>5</item>
        <item>8</item>
        <item>13</item>
        <item>17</item>
        <item>21</item>
        <item>26</item>
        <item>30</item>
        <item>34</item>
        <item>39</item>
        <item>60</item>
        <item>140</item>
        <item>310</item>
        <item>400</item>
        <item>500</item>
        <item>600</item>
        <item>1000</item>
        <item>1200</item>
        <item>1500</item>
        <item>2100</item>
        <item>3000</item>
        <item>3500</item>
        <item>4000</item>
    </array>

    <!-- An array describing the screen's backlight values corresponding to the brightness
         values in the config_screenBrightnessNits array. -->
    <array name="config_screenBrightnessBacklight">
        <item>@null</item>
        <item>1</item>
        <item>10</item>
        <item>15</item>
        <item>30</item>
        <item>45</item>
        <item>60</item>
        <item>75</item>
        <item>90</item>
        <item>105</item>
        <item>120</item>
        <item>135</item>
        <item>150</item>
        <item>165</item>
        <item>180</item>
        <item>195</item>
        <item>210</item>
        <item>225</item>
        <item>240</item>
        <item>255</item>
    </array>

    <!-- An array of floats describing the screen brightness in nits corresponding to the backlight
         values in the config_screenBrightnessBacklight array.  On OLED displays these  values
         should be measured with an all white image while the display is in the fully on state.
         Note that this value should *not* reflect the maximum brightness value for any high
         brightness modes but only the maximum brightness value obtainable in a sustainable manner.
         This array should be equal in size to config_screenBrightnessBacklight -->
    <array name="config_screenBrightnessNits">
        <item>@null</item>
        <item>4</item>
        <item>22</item>
        <item>30</item>
        <item>68</item>
        <item>95</item>
        <item>133</item>
        <item>165</item>
        <item>192</item>
        <item>218</item>
        <item>255</item>
        <item>290</item>
        <item>326</item>
        <item>352</item>
        <item>384</item>
        <item>399</item>
        <item>422</item>
        <item>432</item>
        <item>442</item>
        <item>455</item>
    </array>

    <!-- Vibrator pattern for a very short but reliable vibration for soft keyboard tap -->
    <integer-array name="config_keyboardTapVibePattern">
        <item>40</item>
    </integer-array>

    <!-- Vibrator pattern for feedback about a long screen/key press -->
    <integer-array name="config_longPressVibePattern">
        <item>0</item>
        <item>1</item>
        <item>20</item>
        <item>21</item>
    </integer-array>

    <!-- Vibrator pattern for feedback about touching a virtual key -->
    <integer-array name="config_virtualKeyVibePattern">
        <item>0</item>
        <item>10</item>
        <item>20</item>
        <item>30</item>
    </integer-array>

    <!-- Array of hysteresis constraint values for brightening, represented as tenths of a
         percent. The length of this array is assumed to be one greater than
         config_screenThresholdLevels. The brightening threshold is calculated as
         screenBrightness * (1.0f + CONSTRAINT_VALUE). When the new screen brightness is higher
         than this threshold, it is applied. See the config_screenThresholdLevels description for
         how the constraint value is chosen. -->
    <array name="config_screenBrighteningThresholds">
        <item>@null</item>
    </array>

   <!-- Array of hysteresis constraint values for darkening, represented as tenths of a
         percent. The length of this array is assumed to be one greater than
         config_screenThresholdLevels. The darkening threshold is calculated as
         screenBrightness * (1.0f - CONSTRAINT_VALUE). When the new screen brightness is lower than
         this threshold, it is applied. See the config_screenThresholdLevels description for how
         the constraint value is chosen. -->
    <array name="config_screenDarkeningThresholds">
        <item>@null</item>
    </array>

    <!-- Array of screen brightness threshold values. This is used for determining hysteresis
         constraint values by calculating the index to use for lookup and then setting the
         constraint value to the corresponding value of the array. The new brightening hysteresis
         constraint value is the n-th element of config_screenBrighteningThresholds, and the new
         darkening hysteresis constraint value is the n-th element of
         config_screenDarkeningThresholds.

         The (zero-based) index is calculated as follows: (MAX is the largest index of the array)
         condition                       calculated index
         value < level[0]                0
         level[n] <= value < level[n+1]  n+1
         level[MAX] <= value             MAX+1 -->
    <array name="config_screenThresholdLevels">
    </array>

    <!-- The maximum range of gamma adjustment possible using the screen
         auto-brightness adjustment setting. -->
    <fraction name="config_autoBrightnessAdjustmentMaxGamma">100%</fraction>

    <!-- Stability requirements in milliseconds for accepting a new brightness level.  This is used
         for debouncing the light sensor.  Different constants are used to debounce the light sensor
         when adapting to brighter or darker environments.  This parameter controls how quickly
         brightness changes occur in response to an observed change in light level that exceeds the
         hysteresis threshold. -->
    <integer name="config_autoBrightnessBrighteningLightDebounce">1000</integer>
    <integer name="config_autoBrightnessDarkeningLightDebounce">1000</integer>

    <!-- Fast brightness animation ramp rate in brightness units per second-->
    <integer name="config_brightness_ramp_rate_fast">308</integer>

    <!-- Slow brightness animation ramp rate in brightness units per second-->
    <integer name="config_brightness_ramp_rate_slow">246</integer>

    <!-- Minimum screen brightness setting allowed by power manager.
         The user is forbidden from setting the brightness below this level.
         Equivalent to 1/255. -->
    <item name="config_screenBrightnessSettingMinimumFloat" format="float" type="dimen">0.0</item>

    <!-- Maximum screen brightness allowed by the power manager.
         The user is forbidden from setting the brightness above this level.  -->
    <item name="config_screenBrightnessSettingMaximumFloat" format="float" type="dimen">1.0</item>

    <!-- Default screen brightness setting
         Must be in the range specified by minimum and maximum.
         Equivalent to 67/255 (default for this device)    -->
    <item name="config_screenBrightnessSettingDefaultFloat" format="float" type="dimen">0.26274509804</item>

    <!-- Whether device supports double tap to wake -->
    <bool name="config_supportDoubleTapWake">true</bool>

    <!-- List of biometric sensors on the device, in decreasing strength. Consumed by AuthService
         when registering authenticators with BiometricService. Format must be ID:Modality:Strength,
         where: IDs are unique per device, Modality as defined in BiometricAuthenticator.java,
         and Strength as defined in Authenticators.java -->
    <string-array name="config_biometric_sensors" translatable="false" >
        <!-- ID0:Fingerprint:Strong -->
        <item>0:2:15</item>
    </string-array>

    <!-- Default list of files pinned by the Pinner Service -->
    <string-array translatable="false" name="config_defaultPinnerServiceFiles">
        <item>"/system/bin/surfaceflinger"</item>
        <item>"/system/framework/arm64/boot-framework.oat"</item>
        <item>"/system/framework/framework.jar"</item>
        <item>"/system/framework/oat/arm64/services.odex"</item>
        <item>"/system/framework/services.jar"</item>
        <item>"/apex/com.android.art/javalib/core-oj.jar"</item>
        <item>"/apex/com.android.art/javalib/core-libart.jar"</item>
        <item>"/apex/com.android.media/javalib/updatable-media.jar"</item>
        <item>"/system_ext/priv-app/SystemUI/SystemUI.apk"</item>
        <item>"/system_ext/priv-app/SystemUI/oat/arm64/SystemUI.odex"</item>
        <item>"/system/lib64/libsurfaceflinger.so"</item>
        <item>"/system/lib64/libRScpp.so"</item>
        <item>"/system/lib64/libRS.so"</item>
        <item>"/system/lib64/libRS_internal.so"</item>
        <item>"/system/lib64/libbcinfo.so"</item>
        <item>"/system/lib64/libRSDriver.so"</item>
        <item>"/system/lib64/libRSCpuRef.so"</item>
        <item>"/system/lib64/libblas.so"</item>
    </string-array>

    <!-- Should the pinner service pin the Home application? -->
    <bool name="config_pinnerHomeApp">true</bool>

    <!-- List of files pinned by the Pinner Service with the JIT Zygote boot image b/119800099 -->
    <string-array translatable="false" name="config_jitzygoteBootImagePinnerServiceFiles">
        <item>"/system/bin/surfaceflinger"</item>
        <item>"/system/framework/framework.jar"</item>
        <item>"/system/framework/services.jar"</item>
        <item>"/apex/com.android.art/javalib/core-oj.jar"</item>
        <item>"/apex/com.android.art/javalib/core-libart.jar"</item>
        <item>"/apex/com.android.media/javalib/updatable-media.jar"</item>
        <item>"/system_ext/priv-app/SystemUI/SystemUI.apk"</item>
        <item>"/system/lib64/libsurfaceflinger.so"</item>
        <item>"/system/lib64/libRScpp.so"</item>
        <item>"/system/lib64/libRS.so"</item>
        <item>"/system/lib64/libRS_internal.so"</item>
        <item>"/system/lib64/libbcinfo.so"</item>
        <item>"/system/lib64/libRSDriver.so"</item>
        <item>"/system/lib64/libRSCpuRef.so"</item>
        <item>"/system/lib64/libblas.so"</item>
    </string-array>

    <!-- The default journal mode to use use when Write-Ahead Logging is not active.
         Choices are: OFF, DELETE, TRUNCATE, PERSIST and MEMORY.
         PERSIST may improve performance by reducing how often journal blocks are
         reallocated (compared to truncation) resulting in better data block locality
         and less churn of the storage media.
         The PERSIST mode results in data persisting in the journal beyond the life of
         a transaction, so it interacts poorly with SECURE_DELETE. -->
    <string name="db_default_journal_mode">MEMORY</string>

    <!-- The database synchronization mode when using the default journal mode.
         FULL is safest and preserves durability at the cost of extra fsyncs.
         NORMAL also preserves durability in non-WAL modes and uses checksums to ensure
         integrity although there is a small chance that an error might go unnoticed.
         Choices are: FULL, NORMAL, OFF. -->
    <string name="db_default_sync_mode">OFF</string>

    <!-- The database synchronization mode when using Write-Ahead Logging.
         From https://www.sqlite.org/pragma.html#pragma_synchronous:
         WAL mode is safe from corruption with synchronous=NORMAL, and probably DELETE mode is safe
         too on modern filesystems. WAL mode is always consistent with synchronous=NORMAL, but WAL
         mode does lose durability. A transaction committed in WAL mode with
         synchronous=NORMAL might roll back following a power loss or system crash.
         Transactions are durable across application crashes regardless of the synchronous setting
         or journal mode. The synchronous=NORMAL setting is a good choice for most applications
         running in WAL mode.
         Choices are: FULL, NORMAL, OFF. -->
    <string name="db_wal_sync_mode">OFF</string>

    <!-- Enables or disables haptic effect when the text insertion/selection handle is moved
          manually by the user. Off by default, since the expected haptic feedback may not be
          available on some devices. -->
    <bool name="config_enableHapticTextHandle">true</bool>

    <!-- Enable Zram writeback feature to allow unused pages in zram be written to flash. -->
    <bool name="config_zramWriteback">true</bool>

</resources>
