<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2010 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="editor_padding_top">32dip</dimen>
    <dimen name="editor_round_button_padding_left">16dip</dimen>
    <dimen name="editor_round_button_padding_right">16dip</dimen>
    <dimen name="editor_type_label_width">122dip</dimen>
    <dimen name="editor_add_field_label_left_padding">16dip</dimen>
    <dimen name="detail_item_vertical_margin">16dip</dimen>
    <dimen name="detail_item_icon_margin">8dip</dimen>
    <dimen name="shortcut_icon_size">64dip</dimen>
    <dimen name="list_section_height">37dip</dimen>
    <dimen name="group_detail_border_padding">16dip</dimen>
    <dimen name="detail_update_section_side_padding">0dip</dimen>
    <dimen name="detail_update_section_item_horizontal_padding">8dip</dimen>
    <dimen name="detail_update_section_item_vertical_padding">16dip</dimen>
    <dimen name="search_view_width">400dip</dimen>
    <dimen name="contact_tile_list_padding_top">16dip</dimen>
    <!-- Center vertically -->
    <dimen name="quick_contact_top_position">-1px</dimen>
    <!-- Contact list (vertical scroll bar comes left) -->
    <dimen name="list_visible_scrollbar_padding">32dip</dimen>
    <dimen name="list_header_extra_top_padding">@dimen/contact_browser_list_top_margin</dimen>

    <dimen name="quick_contact_photo_container_height">360dip</dimen>

    <!-- Because the "join" screen has the vertical scroll bar on right,
      we cannot use @dimen/contact_browser_list_header_left_margin as is. -->
    <dimen name="join_header_left_margin">24dip</dimen>
    <dimen name="join_header_right_margin">@dimen/list_visible_scrollbar_padding</dimen>
    <dimen name="join_header_top_margin">16dip</dimen>
    <dimen name="join_header_bottom_margin">16dip</dimen>

    <!-- Left padding for a group member list item -->
    <dimen name="group_member_item_left_padding">12dip</dimen>
    <!-- Left margin for the group member list to match the built in margin in the autocomplete asset -->
    <dimen name="group_editor_member_list_left_margin">4dip</dimen>
    <!-- Right margin for the group member list to match the built in margin in the autocomplete asset -->
    <dimen name="group_editor_member_list_right_margin">4dip</dimen>
    <!-- Account title left padding -->
    <dimen name="account_container_left_padding">16dip</dimen>
    <!-- Left padding of the auto complete field to line hint text up with member list -->
    <dimen name="group_editor_autocomplete_left_padding">16dip</dimen>
    <dimen name="contact_detail_list_top_padding">8dip</dimen>
</resources>
