<?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="device_memory_usage_button_width">16dip</dimen>
    <dimen name="device_memory_usage_button_height">32dip</dimen>
    <dimen name="action_bar_switch_padding">16dip</dimen>

    <dimen name="app_icon_size">56dip</dimen>
    <dimen name="screen_margin_sides">64dip</dimen>
    <dimen name="screen_margin_top">72dip</dimen>
    <dimen name="screen_margin_bottom">48dip</dimen>
    <dimen name="content_margin_left">16dip</dimen>
    <dimen name="description_margin_top">26dip</dimen>
    <dimen name="description_margin_sides">40dip</dimen>
    <dimen name="bind_app_widget_dialog_checkbox_bottom_padding">16dip</dimen>
    <dimen name="installed_app_details_bullet_offset">8dip</dimen>

    <dimen name="data_usage_chart_height">252dip</dimen>
    <dimen name="data_usage_chart_optimalWidth">440dip</dimen>

    <dimen name="volume_seekbar_side_margin">8dip</dimen>

    <dimen name="crypt_clock_size">100sp</dimen>

    <item type="dimen" name="setup_title_height">15%</item>
    <item type="dimen" name="setup_border_width">5%</item>
    <dimen name="setup_margin_bottom">0dip</dimen>
    <dimen name="setup_title_size">25sp</dimen>
    <dimen name="setup_button_size">32dip</dimen>
    <dimen name="setup_item_margin">16dip</dimen>

    <dimen name="divider_height">3dip</dimen>
    <dimen name="divider_margin_top">6dip</dimen>
    <dimen name="divider_margin_bottom">7dip</dimen>

    <!--  Size of icons in the top-level of settings  -->
    <dimen name="header_icon_width">28dp</dimen>
    <dimen name="appwidget_min_width">260dip</dimen>
    <dimen name="appwidget_min_height">40dip</dimen>

    <dimen name="pager_tabs_padding">0dp</dimen>

    <!-- Size of AppWidget previews in KeyguardAppWidgetPickActivity -->
    <dimen name="appwidget_preview_width">140dip</dimen>
    <dimen name="appwidget_preview_height">80dip</dimen>
    <dimen name="keyguard_appwidget_picker_max_width">800dip</dimen>
    <dimen name="keyguard_appwidget_picker_margin_left">6dip</dimen>
    <dimen name="keyguard_appwidget_picker_margin_right">6dip</dimen>
    <integer name="keyguard_appwidget_picker_cols">1</integer>

    <dimen name="circle_avatar_size">48dp</dimen>
    <dimen name="circle_avatar_frame_stroke_width">1dp</dimen>
    <dimen name="circle_avatar_frame_shadow_radius">3dp</dimen>

    <!-- Minimum width for the popup for updating a user's photo. -->
    <dimen name="update_user_photo_popup_min_width">300dip</dimen>

</resources>
