<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2009 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>
    <dimen name="edit_photo_size">120dip</dimen>

    <!-- The height of the ScrollingTabWidget -->
    <dimen name="tab_height">40dip</dimen>
    <dimen name="account_name_height">25dip</dimen>

    <dimen name="contact_shortcut_frame_width">50dip</dimen>
    <dimen name="contact_shortcut_frame_height">56dip</dimen>

    <dimen name="aggregation_suggestion_icon_size">40dip</dimen>

    <dimen name="account_selector_popup_width">400dip</dimen>
    <dimen name="account_selector_icon_size">30dip</dimen>
    <dimen name="account_selector_min_item_height">48dip</dimen>
    <dimen name="account_selector_horizontal_margin">6dip</dimen>

    <dimen name="photo_action_popup_width">400dip</dimen>

    <!-- Width of the quick contact popup. This size is chosen so that the last icon is clipped
    to indicate horizontal scrollability. Also, this size is the same as the widget to make them
    aligned -->
    <dimen name="quick_contact_width">352dip</dimen>

    <!-- Padding of the rounded plus/minus/expand/collapse buttons in the editor  -->
    <dimen name="editor_round_button_padding_left">4dip</dimen>
    <dimen name="editor_round_button_padding_right">4dip</dimen>
    <dimen name="editor_round_button_padding_top">8dip</dimen>
    <dimen name="editor_round_button_padding_bottom">8dip</dimen>

    <!-- Font size for the structured name in the contact detail page -->
    <dimen name="editor_structured_name_text_size">25sp</dimen>

    <!-- Width of the Type-Label in the Editor -->
    <dimen name="editor_type_label_width">120dip</dimen>

    <!-- Left padding of a field in the Editor -->
    <dimen name="editor_field_left_padding">5dip</dimen>

    <!-- Top padding of a field in the Editor -->
    <dimen name="editor_field_top_padding">10dip</dimen>

    <!-- Bottom padding of a field in the Editor -->
    <dimen name="editor_field_bottom_padding">5dip</dimen>

    <!-- Minimum height of a row in the Editor -->
    <dimen name="editor_min_line_item_height">48dip</dimen>

    <!-- Font size used for the value of a field in the contact editor. -->
    <dimen name="editor_field_text_size">18sp</dimen>

    <!-- Font size used for the title of a field in the contact editor. -->
    <dimen name="editor_field_title_text_size">15sp</dimen>

    <!-- Font size for the entries in a spinner in the contact editor. -->
    <dimen name="editor_field_spinner_text_size">10sp</dimen>

    <!-- Height of the tab carousel on the contact detail page -->
    <dimen name="detail_tab_carousel_height">150dip</dimen>

    <!-- Width of a tab in the tab carousel on the contact detail page -->
    <dimen name="detail_tab_carousel_tab_width">240dip</dimen>

    <!-- Height of the tab text label in the tab carousel on the contact detail page -->
    <dimen name="detail_tab_carousel_tab_label_height">40dip</dimen>

    <!-- Vertical margin of the text within the update tab in the tab carousel -->
    <dimen name="detail_update_tab_vertical_margin">20dip</dimen>

    <!-- Left and right padding of the text within the update tab in the tab carousel -->
    <dimen name="detail_update_tab_side_padding">10dip</dimen>

    <!-- Left and right padding for a contact detail item -->
    <dimen name="detail_item_icon_margin">10dip</dimen>

    <!-- Left and right padding for a contact detail item -->
    <dimen name="detail_item_side_margin">10dip</dimen>

    <!-- Minimum height of a row in the contact detail -->
    <dimen name="detail_min_line_item_height">48dip</dimen>

    <!-- Width of a contact detail item type (i.e. Nickname or Website). -->
    <dimen name="detail_item_type_width">164dip</dimen>

    <!-- Font size for the display name in header of the contact detail page -->
    <dimen name="detail_header_name_text_size">30sp</dimen>

    <!-- Padding to be used between a visible scrollbar and the contact list -->
    <dimen name="list_visible_scrollbar_padding">40dip</dimen>

    <!-- Font size used for the contact name in the widget -->
    <dimen name="widget_text_size_name">14sp</dimen>

    <!-- Font size used for the social status in the widget -->
    <dimen name="widget_text_size_snippet">13sp</dimen>

    <!-- Minimum width of the filter selector in the action bar -->
    <dimen name="action_bar_filter_min_width">100dip</dimen>

    <!-- Maximum width of the filter selector in the action bar -->
    <dimen name="action_bar_filter_max_width">100dip</dimen>

    <!-- Maximum width of the search field in the action bar -->
    <dimen name="action_bar_search_max_width">100dip</dimen>

    <!-- Spacing on the left the search field in the action bar -->
    <dimen name="action_bar_search_spacing">12dip</dimen>

    <!-- Size of the shortcut icon. 0dip means: use the system default -->    
    <dimen name="shortcut_icon_size">0dip</dimen>

    <!-- Height of list sections (A, B, C) that show the first character of the contacts -->
    <dimen name="list_section_height">25dip</dimen>

    <!-- Border padding for the group detail fragment header -->
    <dimen name="group_detail_border_padding">20dip</dimen>

    <!-- Vertical padding for the group detail fragment header -->
    <dimen name="group_detail_vertical_padding">15dip</dimen>

    <!-- Margins for the group detail fragment divider in the header -->
    <dimen name="group_detail_divider_margin">15dip</dimen>
</resources>
