<?xml version="1.0" encoding="utf-8"?>
<!--
/*
**
** Copyright 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>
    <!-- Default height of a key in the password keyboard for alpha -->
    <dimen name="password_keyboard_key_height_alpha">47dip</dimen>
    <!-- Default height of a key in the password keyboard for numeric -->
    <dimen name="password_keyboard_key_height_numeric">50dip</dimen>
    <!-- Default correction for the space key in the password keyboard -->
    <dimen name="password_keyboard_spacebar_vertical_correction">2dip</dimen>
    <dimen name="preference_widget_width">72dp</dimen>

    <!-- Height of the status bar -->
    <dimen name="status_bar_height">@dimen/status_bar_height_landscape</dimen>
    <!-- Height of area above QQS where battery/time go -->
    <dimen name="quick_qs_offset_height">@dimen/status_bar_height_landscape</dimen>
    <!-- Total height of QQS in landscape, this is effectively status_bar_height_landscape + 128 -->
    <dimen name="quick_qs_total_height">152dp</dimen>
    <!-- Default height of an action bar. -->
    <dimen name="action_bar_default_height">40dip</dimen>
    <!-- Vertical padding around action bar icons. -->
    <dimen name="action_bar_icon_vertical_padding">4dip</dimen>
    <!-- Text size for action bar titles -->
    <dimen name="action_bar_title_text_size">16dp</dimen>
    <!-- Text size for action bar subtitles -->
    <dimen name="action_bar_subtitle_text_size">12dp</dimen>
    <!-- Top margin for action bar subtitles -->
    <dimen name="action_bar_subtitle_top_margin">-2dp</dimen>
    <!-- Bottom margin for action bar subtitles -->
    <dimen name="action_bar_subtitle_bottom_margin">4dip</dimen>

    <!-- Size of clock font in LockScreen on Unsecure unlock screen. -->
    <dimen name="keyguard_lockscreen_clock_font_size">70sp</dimen>

    <!-- Shift emergency button from the left edge by this amount.  Used by landscape layout on
         phones -->
    <dimen name="kg_emergency_button_shift">30dp</dimen>

    <!-- Space reserved at the bottom of secure views (pin/pattern/password/SIM pin/SIM puk) -->
    <dimen name="kg_secure_padding_height">0dp</dimen>

    <!-- Top padding for the widget pager -->
    <dimen name="kg_widget_pager_top_padding">0dp</dimen>

    <!-- Bottom padding for the widget pager -->
    <dimen name="kg_widget_pager_bottom_padding">0dp</dimen>

    <!-- If the height if keyguard drops below this threshold (most likely
    due to the appearance of the IME), then drop the multiuser selector.
    Landscape's layout allows this to be smaller than for portrait. -->
    <dimen name="kg_squashed_layout_threshold">400dp</dimen>

    <!-- New TimePicker dimensions. -->
    <dimen name="timepicker_left_side_width">250dip</dimen>

    <!-- width of ImmersiveModeConfirmation (-1 for match_parent) -->
    <dimen name="immersive_mode_cling_width">380dp</dimen>

     <!-- Floating toolbar dimensions -->
     <dimen name="floating_toolbar_preferred_width">544dp</dimen>

    <dimen name="chooser_preview_width">480dp</dimen>

</resources>
