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

<!-- tablet -->
<resources>
    <!-- Bottom padding used to compensate for the built in drop shadow in the
         asset. -->
    <dimen name="message_header_height">64dip</dimen>
    <dimen name="message_header_bottom_padding">4dip</dimen>
    <dimen name="message_header_badge_width">64dip</dimen>
    <dimen name="message_header_name_margin">16dip</dimen>

    <!-- hack around the fact that the checkbox below the reply state has a lot
         of padding built into the asset -->
    <dimen name="message_list_icon_padding_compensation">-6dip</dimen>

    <!-- Account Setup Activities -->
    <!-- inset distance for setup/settings buttons -->
    <dimen name="setup_buttons_padding_left">16dip</dimen>
    <dimen name="setup_buttons_padding_right">16dip</dimen>
    <!-- distance of any button below the upper hairline -->
    <dimen name="setup_buttons_padding_top">64dip</dimen>
    <!-- distance of any button below the previous button (vertical stack) -->
    <dimen name="setup_buttons_vertical_spacing">48dip</dimen>
    <!-- distance of any button above the bottom of the screen -->
    <dimen name="setup_buttons_padding_bottom">48dip</dimen>

    <!-- Account settings fragments -->
    <dimen name="settings_fragment_padding_top">32dip</dimen>
    <dimen name="settings_fragment_padding_left">32dip</dimen>
    <dimen name="settings_fragment_padding_right">32dip</dimen>

    <!-- On tablets, we don't need additional padding in setup mode since the
         base settings fragments that are reused already have padding. -->
    <dimen name="setup_fragment_padding_top">0dip</dimen>
    <dimen name="setup_fragment_padding_left">0dip</dimen>
    <dimen name="setup_fragment_padding_right">0dip</dimen>

    <!-- In setup screens, the inset for all items below the headline+hairline -->
    <dimen name="setup_item_inset_left">16dip</dimen>
    <dimen name="setup_item_inset_right">64dip</dimen>

    <!-- Folder list items -->
    <dimen name="mailbox_list_padding_left">16dip</dimen>
    <dimen name="mailbox_list_padding_right">24dip</dimen>
    <dimen name="mailbox_list_count_margin_left">16dip</dimen>

    <!-- Message list items -->
    <dimen name="replystate_margin_left">7dip</dimen>
    <dimen name="replystate_margin_top">10sp</dimen>
    <dimen name="checkmark_margin_top">4sp</dimen>
    <dimen name="star_margin_top">30sp</dimen>

    <!-- inset distance for settings buttons -->
    <dimen name="settings_buttons_padding_top">48dip</dimen>
    <dimen name="settings_buttons_padding_bottom">48dip</dimen>

    <dimen name="compose_scrollview_width">600dip</dimen>
</resources>
