<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2012 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>
    <!-- Maximum width for a stacked action bar tab. This prevents
         action bar tabs from becoming too wide on a wide screen when only
         a few are present. -->
    <dimen name="abc_action_bar_stacked_tab_max_width">180dp</dimen>

    <!-- Maximum height for a stacked tab bar as part of an action bar -->
    <dimen name="abc_action_bar_stacked_max_height">48dp</dimen>
    <!-- Size of the indeterminate Progress Bar -->
    <dimen name="abc_action_bar_progress_bar_size">40dp</dimen>

    <dimen name="abc_panel_menu_list_width">296dp</dimen>

    <!-- Preferred width of the search view. -->
    <dimen name="abc_search_view_preferred_width">320dip</dimen>
    <dimen name="abc_search_view_preferred_height">48dip</dimen>

    <!-- Text padding for dropdown items -->
    <dimen name="abc_dropdownitem_text_padding_left">8dip</dimen>
    <dimen name="abc_dropdownitem_text_padding_right">8dip</dimen>
    <!-- Width of the icon in a dropdown list -->
    <dimen name="abc_dropdownitem_icon_width">32dip</dimen>

    <!-- The platform's desired fixed width for a dialog along the major axis
         (the screen is in landscape). This may be either a fraction or a dimension.-->
    <item type="dimen" name="abc_dialog_fixed_width_major">320dp</item>
    <!-- The platform's desired fixed width for a dialog along the minor axis
         (the screen is in portrait). This may be either a fraction or a dimension.-->
    <item type="dimen" name="abc_dialog_fixed_width_minor">320dp</item>
    <!-- The platform's desired fixed height for a dialog along the major axis
         (the screen is in portrait). This may be either a fraction or a dimension.-->
    <item type="dimen" name="abc_dialog_fixed_height_major">80%</item>
    <!-- The platform's desired fixed height for a dialog along the minor axis
         (the screen is in landscape). This may be either a fraction or a dimension.-->
    <item type="dimen" name="abc_dialog_fixed_height_minor">100%</item>

    <dimen name="abc_button_inset_vertical_material">6dp</dimen>
    <dimen name="abc_button_inset_horizontal_material">@dimen/abc_control_inset_material</dimen>
    <!-- Default inner padding within buttons -->
    <dimen name="abc_button_padding_vertical_material">@dimen/abc_control_padding_material</dimen>
    <dimen name="abc_button_padding_horizontal_material">8dp</dimen>

    <!-- Default insets (outer padding) around controls -->
    <dimen name="abc_control_inset_material">4dp</dimen>
    <!-- Default inner padding within controls -->
    <dimen name="abc_control_padding_material">4dp</dimen>
    <!-- Default rounded corner for controls -->
    <dimen name="abc_control_corner_material">2dp</dimen>

    <dimen name="abc_edit_text_inset_horizontal_material">4dp</dimen>
    <dimen name="abc_edit_text_inset_top_material">10dp</dimen>
    <dimen name="abc_edit_text_inset_bottom_material">7dp</dimen>

    <!-- Since optical insets are not available pre-v18, we add a small amount of padding -->
    <dimen name="abc_switch_padding">3dp</dimen>

    <dimen name="abc_dialog_padding_material">24dp</dimen>
    <dimen name="abc_dialog_padding_top_material">18dp</dimen>

    <!-- Dialog button bar height -->
    <dimen name="abc_alert_dialog_button_bar_height">48dp</dimen>

    <!-- Padding above and below selection dialog lists. -->
    <dimen name="abc_dialog_list_padding_vertical_material">8dp</dimen>

    <!-- Dialog padding minus control padding, used to fix alignment. -->
    <dimen name="abc_select_dialog_padding_start_material">20dp</dimen>

    <!-- The platform's desired minimum size for a dialog's width when it
         is along the major axis (that is the screen is landscape).  This may
         be either a fraction or a dimension. -->
    <item type="dimen" name="abc_dialog_min_width_major">65%</item>

    <!-- The platform's desired minimum size for a dialog's width when it
         is along the minor axis (that is the screen is portrait).  This may
         be either a fraction or a dimension. -->
    <item type="dimen" name="abc_dialog_min_width_minor">95%</item>

    <!-- Minimum "smallest width" of the display for cascading menus to be enabled. -->
    <dimen name="abc_cascading_menus_min_smallest_width">720dp</dimen>

    <!-- The width of the big icons in notifications. -->
    <dimen name="notification_large_icon_width">64dp</dimen>

    <!-- The width of the big icons in notifications. -->
    <dimen name="notification_large_icon_height">64dp</dimen>

    <!-- Size of smaller notification text (see TextAppearance.StatusBar.EventContent.Line2, Info,
         Time) -->
    <dimen name="notification_subtext_size">13sp</dimen>

    <!-- Size of notification action text -->
    <dimen name="notification_action_text_size">13sp</dimen>

    <!-- Top padding for notifications in the standard layout. -->
    <dimen name="notification_top_pad">10dp</dimen>

    <!-- Top padding for notification when text is large -->
    <dimen name="notification_top_pad_large_text">5dp</dimen>

    <!-- The size of the action icons -->
    <dimen name="notification_action_icon_size">32dp</dimen>

    <!-- the size of the small icon on the right of the largeIcon -->
    <dimen name="notification_right_icon_size">16dp</dimen>

    <!-- the padding of the small icon to the circle -->
    <dimen name="notification_small_icon_background_padding">3dp</dimen>

    <!-- the side margin of the big notification circle -->
    <dimen name="notification_big_circle_margin">12dp</dimen>

    <!-- small icon size when placed as large icon -->
    <dimen name="notification_small_icon_size_as_large">24dp</dimen>

    <!-- the margin at the beginning of the notification content -->
    <dimen name="notification_content_margin_start">8dp</dimen>

    <!-- image margin on the large icon in the narrow media template -->
    <dimen name="notification_media_narrow_margin">@dimen/notification_content_margin_start</dimen>

    <!-- the top padding of the notification content -->
    <dimen name="notification_main_column_padding_top">10dp</dimen>

    <!-- the paddingtop on the right side of the notification (for time etc.) -->
    <dimen name="notification_right_side_padding_top">2dp</dimen>
</resources>
