<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2011 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>
    <!-- Copied from java/com/google/android/assets/launchscreens/res/values-sw600dp-land-v21/dimens.xml -->
    <!-- Values adjusted for nav bar size due to windowDrawsSystemBarBackgrounds -->
    <dimen name="launchscreens_product_logo_bottom">72dp</dimen>

    <!-- Height for the image for empty group view-->
    <dimen name="empty_view_image_height">180dp</dimen>

    <!-- Top padding for the text for empty group view -->
    <dimen name="empty_group_view_text_padding_top">32dp</dimen>

    <!-- Gap b/w image view and top of the screen in empty main view -->
    <dimen name="empty_home_view_image_offset">175dp</dimen>

    <!-- Width for the image for contacts no account empty view -->
    <dimen name="contacts_no_account_empty_image_width">180dp</dimen>

    <!-- Margin offset b/w the image top and app bar bottom for no account empty view -->
    <dimen name="contacts_no_account_empty_image_offset">175dp</dimen>
</resources>
