<?xml version="1.0" encoding="utf-8"?>
<!--
 * Copyright (c) 2006, 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>
    <!-- Margin at the edge of the screen to ignore touch events for in the windowshade. -->
    <dimen name="status_bar_edge_ignore">5dp</dimen>

    <!-- Recent Applications parameters -->
    <!-- Width of a recent app view, including all content -->
    <dimen name="status_bar_recents_thumbnail_view_width">156dp</dimen>
    <!-- How far the thumbnail for a recent app appears from left edge -->
    <dimen name="status_bar_recents_thumbnail_left_margin">110dp</dimen>
    <!-- Upper width limit for application icon -->
    <dimen name="status_bar_recents_thumbnail_max_width">64dp</dimen>
    <!-- Upper height limit for application icon -->
    <dimen name="status_bar_recents_thumbnail_max_height">64dp</dimen>
    <!-- Width of scrollable area in recents -->
    <dimen name="status_bar_recents_width">356dp</dimen>

    <!-- thickness (height) of the navigation bar on phones that require it -->
    <dimen name="navigation_bar_size">42dp</dimen>
</resources>

