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

<resources>
    <bool name="config_enable_dial_motion">true</bool>
    <item name="config_dial_motion_scale_start" format="float" type="integer">1.5</item>
    <integer name="config_dial_motion_duration">200</integer>
    <!-- 8388629 stands for Gravity.END | Gravity.CENTER_VERTICAL-->
    <integer name="config_dialed_number_gravity">8388629</integer>
    <item name="config_background_image_alpha" format="float" type="dimen">1.0</item>
    <item name="config_background_image_error_alpha" format="float" type="dimen">1.0</item>

    <bool name="config_show_detailed_user_profile_on_dialpad">false</bool>

    <!-- A config determines whether to show divider and callog_action_button for callog items
    that are not stored as contacts. "true" will show divider and button as disable state and
    "false" will make divider and button invisible for non contacts. -->
    <bool name="config_show_calllog_action_button_for_non_contact">false</bool>

    <!-- A config determines whether to show postal address in contact details page. -->
    <bool name="config_show_postal_address">false</bool>
    <!-- A config determines whether to show the action bar view in the contact details page.-->
    <bool name="config_show_contact_details_action_bar_view">false</bool>
    <!-- A config determines if to show the action bar avatar in the contact details page.-->
    <bool name="config_show_contact_details_action_bar_avatar">true</bool>

    <!-- No toolbar title. Supported value see @attr/toolbarTitleMode -->
    <integer name="config_toolbar_title_mode">1</integer>
</resources>
