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

<!-- Telecomm resources that may need to be customized for different hardware or product
    builds. -->
<resources>
    <!-- Determines if the current device should allow emergency numbers to be logged in the
         call log. Some carriers require that emergency calls *not* be logged, presumably to
         avoid the risk of accidental redialing from the call log UI.
         The default is false. -->
    <bool name="allow_emergency_numbers_in_call_log">false</bool>

    <!-- Determine whether we want to play local DTMF tones in a call, or just let the radio/BP
         handle playing of the tones. -->
    <bool name="allow_local_dtmf_tones">true</bool>

    <!-- Package name for the default in-call UI and dialer [DO NOT TRANSLATE] -->
    <string name="ui_default_package" translatable="false">com.android.dialer</string>

    <!-- Class name for the default in-call UI Service [DO NOT TRANSLATE] -->
    <string name="incall_default_class" translatable="false">com.android.incallui.InCallServiceImpl</string>

    <!-- Class name for the default main dialer activity [DO NOT TRANSLATE] -->
    <string name="dialer_default_class" translatable="false">com.android.dialer.DialtactsActivity</string>

    <!-- Flag indicating if the tty is enabled -->
    <bool name="tty_enabled">false</bool>

    <!-- ComponentName for the default connection manager component. If this cannot be resolved, or
         if this package has not registered any accounts, then it will be ignored.
         [DO NOT TRANSLATE] -->
    <string name="default_connection_manager_component" translatable="false"></string>
</resources>
