<?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="match_parent">-1px</dimen>

    <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">40dip</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="battery_history_chart_height">120dp</dimen>

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

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

    <dimen name="crypt_clock_size">100sp</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">280dip</dimen>
    <dimen name="appwidget_min_height">40dip</dimen>

    <dimen name="pager_tabs_padding">0dp</dimen>
    <dimen name="pager_tabs_title_padding">16dp</dimen>
    <dimen name="pager_tabs_selected_indicator_height">3dp</dimen>

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

    <dimen name="captioning_preview_height">200dp</dimen>

    <dimen name="ring_progress_bar_thickness">4dp</dimen>
    <dimen name="settings_side_margin">0dip</dimen>

    <!-- Weight of the left pane in a multi-pane preference layout. -->
    <integer name="preferences_left_pane_weight">4</integer>
    <!-- Weight of the right pane in a multi-pane preference layout. So the split is 40:60 -->
    <integer name="preferences_right_pane_weight">6</integer>

    <dimen name="notification_app_icon_size">64dp</dimen>
    <dimen name="notification_app_icon_badge_size">20dp</dimen>
    <dimen name="notification_app_icon_badge_margin">4dp</dimen>
    <dimen name="zen_schedule_rule_checkbox_padding">7dp</dimen>
    <dimen name="zen_schedule_day_margin">17dp</dimen>

    <!-- Default text size for caption preview samples. Uses dp rather than sp because captions are not scaled. -->
    <dimen name="caption_preview_text_size">48dp</dimen>

    <!-- ActionBar height -->
    <dimen name="actionbar_size">56dip</dimen>

    <!-- ActionBar contentInsetStart -->
    <dimen name="actionbar_contentInsetStart">16dp</dimen>
    <dimen name="actionbar_subsettings_contentInsetStart">72dp</dimen>

    <!-- Dashboard padding in its container -->
    <dimen name="dashboard_padding_start">0dp</dimen>
    <dimen name="dashboard_padding_end">0dp</dimen>
    <dimen name="dashboard_padding_top">0dp</dimen>
    <dimen name="dashboard_padding_bottom">0dp</dimen>

    <!-- Dashboard Header margin in its container -->
    <dimen name="dashboard_header_margin_start">0dp</dimen>
    <dimen name="dashboard_header_margin_end">0dp</dimen>

    <!-- Dashboard category padding start / end -->
    <dimen name="dashboard_category_padding_start">0dp</dimen>
    <dimen name="dashboard_category_padding_end">0dp</dimen>

    <!-- Dashboard category panel elevation -->
    <dimen name="dashboard_category_elevation">2dp</dimen>

    <!-- Dashboard category layout height -->
    <dimen name="dashboard_category_height">48dp</dimen>

    <!-- Dashboard category title margin start -->
    <dimen name="dashboard_category_title_margin_start">16dp</dimen>

    <!-- Dashboard tile minimum height -->
    <dimen name="dashboard_tile_minimum_height">72dp</dimen>

    <!-- Dashboard image tile size -->
    <dimen name="dashboard_tile_image_size">24dp</dimen>

    <!-- Dashboard tile image margin start / end -->
    <dimen name="dashboard_tile_image_margin_start">16dp</dimen>
    <dimen name="dashboard_tile_image_margin_end">32dp</dimen>

    <!-- SwitchBar margin start / end -->
    <dimen name="switchbar_margin_start">16dp</dimen>
    <dimen name="switchbar_margin_end">16dp</dimen>

    <!-- SwitchBar sub settings margin start / end -->
    <dimen name="switchbar_subsettings_margin_start">72dp</dimen>
    <dimen name="switchbar_subsettings_margin_end">16dp</dimen>

    <!-- Search Panel elevation -->
    <dimen name="search_panel_elevation">4dp</dimen>

    <!-- Search title (recent / results) padding start -->
    <dimen name="search_title_padding_start">12dp</dimen>

    <!-- Result item image size -->
    <dimen name="search_result_item_image_size">24dp</dimen>

    <!-- Result item image margin start / end -->
    <dimen name="search_result_item_image_margin_start">12dp</dimen>
    <dimen name="search_result_item_image_margin_end">32dp</dimen>

    <!-- Suggestion item image size -->
    <dimen name="search_suggestion_item_image_size">24dp</dimen>

    <!-- Suggestion item image margin start / end -->
    <dimen name="search_suggestion_item_image_margin_start">32dp</dimen>
    <dimen name="search_suggestion_item_image_margin_end">16dp</dimen>

    <!-- Dimensions for Wifi Assistant Card -->
    <dimen name="wifi_assistant_padding_top_bottom">16dp</dimen>
    <dimen name="wifi_assistant_padding_start_end">16dp</dimen>
    <dimen name="wifi_assistant_padding">25dp</dimen>
    <dimen name="wifi_assistant_text_padding">16dp</dimen>
    <dimen name="wifi_assistant_height">182dp</dimen>
    <dimen name="wifi_assistant_image_top">32dp</dimen>
    <dimen name="wifi_assistant_image_start">24dp</dimen>

    <!-- CryptKeeper top margin for password/pin screen -->
    <dimen name="crypt_keeper_password_top_margin">88dip</dimen>

    <!-- CryptKeeper top margin for pattern screen -->
    <dimen name="crypt_keeper_pattern_top_margin">88dip</dimen>

    <!-- CryptKeeper password/pin width -->
    <dimen name="crypt_keeper_password_width">280dip</dimen>

    <!-- CryptKeeper emergency call button dimensions -->
    <dimen name="crypt_keeper_emergency_call_space_above">16dip</dimen>

    <!-- CryptKeeper edit text ime icon padding -->
    <dimen name="crypt_keeper_edit_text_ime_padding">8dip</dimen>

    <!-- CryptKeeper pattern margin on phone -->
    <dimen name="crypt_keeper_pattern_margin">8dip</dimen>

    <!-- CryptKeeper pattern size for tablet -->
    <dimen name="crypt_keeper_pattern_size">354dip</dimen>

    <!-- Screen pinning textview paddings -->
    <dimen name="screen_pinning_textview_padding">40dp</dimen>

    <!-- SIM Dialog Margin top -->
    <dimen name="sim_dialog_margin_top">8dip</dimen>
    <!-- SIM Dialog Margin bottom -->
    <dimen name="sim_dialog_margin_bottom">16dip</dimen>
    <!-- SIM Dialog padding -->
    <dimen name="sim_dialog_padding">8dip</dimen>
    <dimen name="sim_label_padding">16dip</dimen>
    <dimen name="sim_content_padding">24dip</dimen>
    <!-- Sim Card Name length -->
    <integer name="sim_name_length">32</integer>

    <!-- Height of a user icon view -->
    <dimen name="user_icon_view_height">56dp</dimen>

    <!-- CheckBoxPreference -->
    <dimen name="checkbox_widget_min_width">58dip</dimen>
    <dimen name="checkbox_layout_padding">16dip</dimen>

    <!-- Bluetooth Preferences -->
    <dimen name="bluetooth_dialog_padding">8dip</dimen>
    <dimen name="bluetooth_dialog_padding_top">20dp</dimen>
    <integer name="bluetooth_name_length">32</integer>
    <dimen name="bluetooth_pairing_padding">24dp</dimen>
    <dimen name="bluetooth_pairing_edittext_padding">21dp</dimen>
    <dimen name="bluetooth_checkbox_padding">16dp</dimen>

    <!-- WiFi Preferences -->
    <dimen name="wifi_divider_height">1px</dimen>
    <dimen name="wifi_picker_icon_size">32dp</dimen>

    <!-- Color picker -->
    <dimen name="color_swatch_size">16dp</dimen>
    <dimen name="color_swatch_stroke_width">4dp</dimen>

    <!-- RedactionInterstitial -->
    <dimen name="redaction_vertical_margins">8dp</dimen>

    <!-- Fingerprint -->
    <dimen name="fingerprint_dot_radius">8dp</dimen>
    <dimen name="fingerprint_pulse_radius">50dp</dimen>
    <item name="fingerprint_sensor_location_fraction_x" type="fraction">50%</item>
    <item name="fingerprint_sensor_location_fraction_y" type="fraction">30%</item>
    <dimen name="fingerprint_find_sensor_graphic_size">190dp</dimen>
    <item name="fingerprint_illustration_aspect_ratio" format="float" type="dimen">2.6</item>
    <dimen name="fingerprint_decor_padding_top">0dp</dimen>
    <dimen name="fingerprint_error_text_appear_distance">16dp</dimen>
    <dimen name="fingerprint_error_text_disappear_distance">-8dp</dimen>
    <dimen name="fingerprint_animation_size">88dp</dimen>
    <dimen name="fingerprint_progress_bar_max_size">220dp</dimen>
    <dimen name="fingerprint_progress_bar_min_size">120dp</dimen>
    <dimen name="fingerprint_enrolling_content_margin_top">36dp</dimen>
    <dimen name="fingerprint_in_app_indicator_size">124dp</dimen>
    <dimen name="fingerprint_in_app_indicator_min_size">124dp</dimen>
    <dimen name="fingerprint_in_app_indicator_max_size">264dp</dimen>

    <dimen name="confirm_credentials_security_method_margin">48dp</dimen>
    <dimen name="confirm_credentials_layout_width">@dimen/match_parent</dimen>
    <dimen name="confirm_credentials_top_padding">0dp</dimen>
    <dimen name="confirm_credentials_side_margin">16dp</dimen>
    <dimen name="confirm_credentials_top_margin">16dp</dimen>

    <!-- Delete managed profile dialog -->
    <dimen name="delete_profile_dialog_padding_top">16dp</dimen>
    <dimen name="delete_profile_dialog_padding_left_right">24dp</dimen>
    <dimen name="mdm_app_info_height">72dp</dimen>
    <dimen name="mdm_app_info_padding_top_bottom">8dp</dimen>
    <dimen name="mdm_app_name_padding_left">16dp</dimen>
    <dimen name="mdm_app_icon_width_height">56dp</dimen>

    <dimen name="shortcut_size_maskable">120dp</dimen>
    <dimen name="shortcut_size">40dp</dimen>
    <dimen name="shortcut_icon_size">16dp</dimen>
    <dimen name="badge_size">10dp</dimen>

    <!-- Admin support contact details dialog. -->
    <dimen name="admin_details_dialog_padding">24dp</dimen>
    <dimen name="admin_details_dialog_icon_size">48dp</dimen>
    <dimen name="admin_details_dialog_link_padding_top">36dp</dimen>

    <!-- Button bar padding for unmount button. -->
    <dimen name="unmount_button_padding">8dp</dimen>

    <!-- Display, Screen zoom -->
    <dimen name="screen_zoom_preview_app_icon_width">88dp</dimen>
    <dimen name="conversation_message_list_padding">10dp</dimen>
    <dimen name="conversation_message_contact_icon_text_size">32sp</dimen>
    <dimen name="conversation_message_text_size">16sp</dimen>
    <dimen name="conversation_status_text_size">12sp</dimen>
    <dimen name="conversation_bubble_width_snap">20dp</dimen>
    <dimen name="message_bubble_arrow_width">9dp</dimen>
    <dimen name="message_padding_default">18dp</dimen>
    <dimen name="message_text_left_right_padding">14dp</dimen>
    <dimen name="message_text_top_padding">10dp</dimen>
    <dimen name="message_text_bottom_padding">12dp</dimen>
    <dimen name="message_metadata_top_padding">4dp</dimen>

    <!-- Accessibility Settings -->
    <dimen name="accessibility_layout_margin_start_end">24dp</dimen>
    <dimen name="accessibility_button_preference_padding_top_bottom">18dp</dimen>

    <!-- Accessibility, Screen magnification. These values are meant to be relative values and the actual layout value will be set programmatically. -->
    <dimen name="screen_magnification_video_background_width">750dp</dimen>
    <dimen name="screen_magnification_video_background_height">383dp</dimen>
    <dimen name="screen_magnification_video_width">170dp</dimen>
    <dimen name="screen_magnification_video_height">311dp</dimen>
    <dimen name="screen_magnification_video_margin_top">40dp</dimen>

    <!-- Restricted icon in switch bar -->
    <dimen name="restricted_icon_margin_end">16dp</dimen>

    <!-- Display Size and Font Size preview screen -->
    <dimen name="preview_pager_padding">8dp</dimen>

    <!-- Padding between the radio buttons/checkbox and text on the redaction interstitial -->
    <dimen name="redaction_padding_start">16dp</dimen>

    <!-- Padding for Gestures settings screen -->
    <dimen name="gestures_settings_padding_top_bottom">20dp</dimen>
    <dimen name="gestures_play_button_size">36dp</dimen>
    <dimen name="gesture_animation_padding">0dp</dimen>

    <!-- Support tile minimum height -->
    <dimen name="support_tile_min_height">48dp</dimen>
    <!-- support spacer layout height -->
    <dimen name="support_spacer_height">8dp</dimen>

    <dimen name="password_requirement_textsize">14sp</dimen>
    <!-- Visible vertical space we want to show below password edittext field when ime is shown.
         The unit is sp as it is related to the text size of password requirement item. -->
    <dimen name="visible_vertical_space_below_password">20sp</dimen>

    <!-- Padding for the escalation card in normal dimens -->
    <dimen name="support_escalation_card_padding_start">40dp</dimen>
    <dimen name="support_escalation_card_padding_end">40dp</dimen>

    <!-- Padding between the donut and the storage summary. -->
    <dimen name="storage_summary_padding_end">16dp</dimen>

    <!-- Battery meter view size -->
    <dimen name="battery_meter_width">66dp</dimen>
    <dimen name="battery_meter_height">100dp</dimen>
</resources>
