<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2010 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 xmlns:android="http://schemas.android.com/apk/res/android">

    <style name="SystemBarNotificationText">
        <item name="android:textSize">16sp</item>
        <item name="android:textColor">#ff999999</item>
    </style>

    <style name="SystemBarPanelSettingsRow">
        <item name="android:paddingRight">16dp</item>
        <item name="android:layout_height">64dp</item>
        <item name="android:layout_width">match_parent</item>
        <item name="android:orientation">horizontal</item>
        <item name="android:background">?android:attr/listChoiceBackgroundIndicator</item>
    </style>

    <style name="SystemBarPanelSettingsIcon">
        <item name="android:layout_height">match_parent</item>
        <item name="android:layout_width">64dp</item>
        <item name="android:scaleType">center</item>
    </style>

    <style name="SystemBarPanelSettingsContents">
        <item name="android:layout_height">wrap_content</item>
        <item name="android:layout_width">0dp</item>
        <item name="android:layout_weight">1</item>
        <item name="android:layout_gravity">start|center_vertical</item>
        <item name="android:textColor">?android:attr/textColorPrimary</item>
        <item name="android:textSize">18sp</item>
    </style>

    <style name="SystemBarPanelSettingsPanelSeparator">
        <item name="android:layout_marginEnd">0dp</item>
        <item name="android:layout_width">match_parent</item>
        <item name="android:layout_height">1dp</item>
        <item name="android:background">@android:drawable/divider_horizontal_dark</item>
    </style>

    <style name="TextAppearance.SystemBar.Clock" parent="@*android:style/TextAppearance.StatusBar.Icon">
        <item name="android:textSize">30dp</item>
        <item name="android:textStyle">normal</item>
        <item name="android:textColor">@android:color/holo_blue_light</item>
    </style>

    <style name="TextAppearance.SystemBar.Expanded.Clock" parent="@style/TextAppearance.StatusBar.Expanded.Clock">
        <item name="android:textSize">48dp</item>
        <item name="android:fontFamily">sans-serif-light</item>
        <item name="android:textStyle">normal</item>
        <item name="android:textColor">#ffffff</item>
    </style>

    <style name="TextAppearance.SystemBar.Expanded.Date" parent="@style/TextAppearance.StatusBar.Expanded.Date">
        <item name="android:textSize">14dp</item>
        <item name="android:textStyle">normal</item>
        <item name="android:textColor">#666666</item>
        <item name="android:textAllCaps">true</item>
    </style>

</resources>
