<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2017 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.
-->

<!-- Phone app resources that may need to be customized
     for different hardware or product builds. -->
<resources>
    <!-- Allow handover from telephony calls to another ConnectionService. -->
    <bool name="config_support_handover_from">true</bool>

    <!-- Flag indicating whether the device supports RTT (real-time text) -->
    <bool name="config_support_rtt">true</bool>

    <!-- String indicating the package name of the device ImsService implementation for MMTEL. -->
    <string name="config_ims_mmtel_package" translatable="false">org.codeaurora.ims</string>

    <!-- String indicating the package name of the device ImsService implementation for RCS. -->
    <string name="config_ims_rcs_package" translatable="false">com.android.service.ims</string>

    <!-- Whether or not to support RCS User Capability Exchange -->
    <bool name="config_rcs_user_capability_exchange_enabled">false</bool>

    <!-- This device supports the AudioManager Telephony audio device and output onto this
         device using {@link AudioDeviceInfo#TYPE_TELEPHONY}.
         This is used to support carriers which generate a recording tone to the remote party
         when a call recording app is in use. -->
    <bool name="config_support_telephony_audio_device">true</bool>

    <!-- This device requires that emergency calls are placed over the default data SIM when
         possible because GNSS SUPL can only be received from the network on data subscription. -->
    <bool name="config_gnss_supl_requires_default_data_for_emergency">true</bool>
</resources>
