<?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>
    <!-- The width of the notification panel window: 446 + 16 + 16 (padding in the bg drawable) -->
    <dimen name="notification_panel_width">478dp</dimen>

    <!-- Layout parameters for the notification panel -->
    <dimen name="notification_panel_margin_bottom">192dp</dimen>
    <dimen name="notification_panel_margin_left">16dp</dimen>

    <!-- Gravity for the notification & quick settings panels -->
    <!-- 0x800033 = start|top ; 0x800035 = end|top -->
    <integer name="notification_panel_layout_gravity">0x800033</integer>
    <integer name="settings_panel_layout_gravity">0x800035</integer>

    <!-- Diameter of outer shape drawable shown in navbar search-->
    <dimen name="navbar_search_outerring_diameter">430dip</dimen>

    <!-- Diameter of outer shape drawable shown in navbar search. Should be 1/2 of above value. -->
    <dimen name="navbar_search_outerring_radius">215dip</dimen>

    <!-- Height of search panel including navigation bar height -->
    <dimen name="navbar_search_panel_height">280dip</dimen>

    <!-- Size of application thumbnail -->
    <dimen name="status_bar_recents_thumbnail_width">200dp</dimen>
    <dimen name="status_bar_recents_thumbnail_height">177dp</dimen>

    <!-- On tablet-sized devices, we allocate the rightmost third(ish) of the draggable status bar
         to quick settings. -->
    <item type="dimen" name="settings_panel_dragzone_fraction">35%</item>

    <!-- Minimum fraction of the screen that should be taken up by the notification panel. -->
    <item type="dimen" name="notification_panel_min_height_frac">40%</item>

    <!-- How far to slide the panel out when you touch it -->
    <!-- On tablets this is just the close_handle_height -->
    <dimen name="peek_height">@dimen/close_handle_height</dimen>
</resources>
