<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2007 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>
    <drawable name="grayBg">#FF333333</drawable>

    <style name="IccPanel">
        <item name="android:windowFrame">@null</item>
        <item name="android:windowBackground">@drawable/grayBg</item>
    </style>

    <style name="info_label">
        <item name="android:layout_height">wrap_content</item>
        <item name="android:layout_width">wrap_content</item>
        <item name="android:textAppearance">@style/TextAppearance.info_label</item>
        <item name="android:paddingEnd">4dip</item>
    </style>

    <style name="info_layout">
        <item name="android:orientation">vertical</item>
        <item name="android:paddingStart">10dip</item>
        <item name="android:paddingTop">10dip</item>
        <item name="android:paddingEnd">10dip</item>
        <item name="android:paddingBottom">10dip</item>
        <item name="android:layout_width">match_parent</item>
        <item name="android:layout_height">match_parent</item>
    </style>

    <style name="entry_layout">
        <item name="android:orientation">vertical</item>
        <item name="android:layout_width">wrap_content</item>
        <item name="android:layout_height">wrap_content</item>
    </style>

    <style name="TextAppearance" parent="android:TextAppearance">
    </style>

    <style name="TextAppearance.info_label">
        <item name="android:textSize">14sp</item>
        <item name="android:textStyle">bold</item>
    </style>

    <!-- Preference Style for the phone number preferences -->
    <style name="EditPhoneNumberPreference">
        <item name="enableButtonText">@string/enable</item>
        <item name="disableButtonText">@string/disable</item>
        <item name="changeNumButtonText">@string/change_num</item>
        <item name="confirmMode">activation</item>
    </style>

    <!-- OTA Call Card styles -->
    <style name="ccOtaButtonBar">
        <!-- TODO: change height to 'wrap_content' when layout bug is fixed -->
        <item name="android:layout_height">60dip</item>
        <item name="android:layout_width">match_parent</item>
        <item name="android:background">@android:drawable/bottom_bar</item>
    </style>

    <style name="ccOtaButton">
        <item name="android:layout_width">150dip</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="android:layout_marginTop">5dip</item>
        <item name="android:layout_marginBottom">5dip</item>
    </style>

    <style name="ccOtaNextButton" parent="ccOtaButton">
        <!-- <item name="android:drawableEnd">@drawable/ic_btn_next</item>
             <item name="android:drawablePadding">10dip</item>
          -->
        <item name="android:layout_alignParentBottom">true</item>
        <item name="android:layout_alignParentEnd">true</item>
        <item name="android:layout_marginEnd">4dip</item>
    </style>

    <style name="ccOtaSkipButton" parent="ccOtaButton">
        <item name="android:layout_alignParentBottom">true</item>
        <item name="android:layout_alignParentStart">true</item>
        <item name="android:layout_marginStart">4dip</item>
    </style>

    <style name="ccOtaWizardTitle">
        <item name="android:textSize">22sp</item>
        <item name="android:textColor">@color/ota_title_color</item>
    </style>

    <style name="ccOtaTextPrimary">
        <item name="android:textColor">?android:attr/textColorPrimary</item>
        <item name="android:textSize">17sp</item>
    </style>

    <!-- Buttons in the main "button row" of the in-call onscreen touch UI. -->
    <style name="InCallButton">
        <item name="android:layout_width">0px</item>
        <item name="android:layout_height">@dimen/in_call_button_height</item>
        <item name="android:layout_weight">1</item>
        <item name="android:background">?android:attr/selectableItemBackground</item>
    </style>

    <!-- "Compound button" variation of InCallButton.
         These buttons have the concept of two states: checked and unchecked.
         (This style is just like "InCallButton" except that we also
         clear out android:textOn and android:textOff, to avoid the default
         text label behavior of the ToggleButton class.) -->
    <style name="InCallCompoundButton" parent="InCallButton">
        <item name="android:textOn">@null</item>
        <item name="android:textOff">@null</item>
    </style>

    <style name="VerticalSeparator">
        <item name="android:layout_width">2dp</item>
        <item name="android:layout_height">match_parent</item>
        <item name="android:background">@android:color/black</item>
    </style>

    <!-- "End" button; similar to InCallButton. -->
    <style name="InCallEndButton">
        <item name="android:layout_width">0dip</item>
        <item name="android:layout_height">@dimen/in_call_end_button_height</item>
        <item name="android:layout_weight">1</item>
    </style>

    <!-- Buttons in extra button row. -->
    <style name="InCallExtraRowButton">
        <item name="android:layout_width">@dimen/extra_row_button_width</item>
        <item name="android:layout_height">@dimen/extra_row_button_height</item>
        <item name="android:background">@null</item>
    </style>

    <!-- Text label drawn alongside buttons in the "extra button row" of
         the in-call onscreen touch UI. -->
    <style name="InCallExtraRowButtonLabel">
        <item name="android:textAppearance">?android:attr/textAppearanceSmall</item>
        <item name="android:textColor">@color/incall_call_banner_text_color</item>
        <item name="android:textAllCaps">true</item>
        <item name="android:textStyle">bold</item>
        <item name="android:layout_width">wrap_content</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="android:layout_gravity">center_vertical</item>
        <item name="android:layout_marginStart">5dip</item>
        <item name="android:layout_marginEnd">5dip</item>
    </style>

    <!-- Theme for the activity com.android.phone.Settings, which is the
         "Mobile network settings" screen (used on non-voice-capable
         tablets as well as regular phone devices.) -->
    <style name="Theme.Settings" parent="@android:style/Theme.Holo.DialogWhenLarge">
        <item name="android:windowCloseOnTouchOutside">true</item>
    </style>

    <style name="SettingsLight" parent="android:Theme.Material.Light">
        <item name="android:windowBackground">@color/phone_settings_background_color</item>
        <item name="android:windowContentOverlay">@null</item>
        <item name="android:actionBarStyle">@style/DialtactsActionBarStyle</item>
        <item name="android:actionMenuTextColor">@color/phone_settings_actionbar_text_color</item>
        <item name="android:actionOverflowButtonStyle">@style/DialtactsActionBarOverflow</item>
        <item name="android:homeAsUpIndicator">@drawable/ic_back_arrow</item>
        <item name="android:windowActionBarOverlay">false</item>
        <item name="android:colorPrimaryDark">@color/actionbar_background_color_dark</item>
        <!-- Setting text. -->
        <item name="android:textColorPrimary">@color/settings_text_color_primary</item>
        <!-- Setting description. -->
        <item name="android:textColorSecondary">@color/settings_text_color_secondary</item>
    </style>

    <style name="DialerSettingsLight" parent="SettingsLight">
        <item name="android:colorAccent">@color/dialer_theme_color</item>
        <item name="android:dialogTheme">@style/DialerAlertDialogTheme</item>
    </style>

    <style name="DialerAlertDialogTheme"
        parent="@android:style/Theme.Material.Light.Dialog">
        <item name="android:colorAccent">@color/dialer_theme_color</item>
        <item name="android:textColor">?android:attr/textColorPrimaryInverseDisableOnly</item>
    </style>

    <style name="NetworkOperatorsSettingsTheme" parent="@android:style/Theme.Material.Light">
        <item name="android:actionBarTheme">@android:style/ThemeOverlay.Material.Dark.ActionBar</item>
        <item name="android:colorPrimary">@color/network_operators_color_primary</item>
        <item name="android:colorPrimaryDark">@color/network_operators_color_primary_dark</item>
    </style>

    <style name="Empty" parent="@android:style/Theme.Material.Light">
        <item name="android:windowIsTranslucent">true</item>
        <item name="android:windowBackground">@android:color/transparent</item>
        <item name="android:windowContentOverlay">@null</item>
        <item name="android:windowNoTitle">true</item>
        <item name="android:windowIsFloating">true</item>
        <item name="android:backgroundDimEnabled">true</item>
    </style>

    <style name="InCallAnimationStyle" parent="@*android:style/Animation.Holo.Activity">
        <!-- Suppress task-to-task animation happening during the transition from
             OutgoingCallBroadcaster (and SipOptionHandler) to InCallScreen.
             The transition unexpectedly happens during the transition (inside the phone task),
             because InCallScreen is using android:launchMode="singleInstance".

             - taskOpenEnterAnimation/taskOpenExitAnimation is used for the first time
               InCallScreen instance is created.

             - taskToFrontEnterAnimation/taskToFrontExitAnimation is used when InCallScreen
               is already available.
               (Note that InCallScreen won't be destroyed once it is created)

             TODO: try removing the flag instead -->
        <item name="*android:taskOpenEnterAnimation">@*android:anim/activity_open_enter</item>
        <item name="*android:taskOpenExitAnimation">@*android:anim/activity_open_exit</item>
        <item name="*android:taskToFrontEnterAnimation">@*android:anim/activity_open_enter</item>
        <item name="*android:taskToFrontExitAnimation">@*android:anim/activity_open_exit</item>
    </style>

    <style name="OutgoingAnimationStyle" parent="@*android:style/Animation.Holo.Activity">
        <!-- Suppress task-to-task transition animation happening from
             DialtactsActivity to OutgoingCallBroadcaster. -->
        <item name="*android:taskOpenEnterAnimation">@*android:anim/activity_open_enter</item>
        <item name="*android:taskOpenExitAnimation">@*android:anim/activity_open_exit</item>
    </style>

    <!-- Style for the call settings action bar.  Should be kept in sync with Dialer. -->
    <style name="DialtactsActionBarStyle" parent="@style/TelephonyActionBarStyle">
        <!-- Shift the title text to the right -->
        <item name="android:contentInsetStart">@dimen/actionbar_contentInsetStart</item>
    </style>

    <style name="TelephonyActionBarStyle" parent="android:Widget.Material.ActionBar">
        <item name="android:displayOptions">showHome|homeAsUp|showTitle</item>
        <item name="android:background">@color/actionbar_background_color</item>
        <item name="android:titleTextStyle">@style/DialtactsActionBarTitleText</item>
        <item name="android:height">@dimen/action_bar_height</item>
        <item name="android:elevation">@dimen/action_bar_elevation</item>
        <!-- Empty icon -->
        <item name="android:icon">@android:color/transparent</item>
    </style>

    <!-- Text in the action bar at the top of the screen.  Should be kept in sync with Dialer. -->
    <style name="DialtactsActionBarTitleText"
           parent="@android:style/TextAppearance.Material.Widget.ActionBar.Title">
        <item name="android:textColor">@color/phone_settings_actionbar_text_color</item>
    </style>

    <!-- Action bar overflow menu icon. -->
    <style name="DialtactsActionBarOverflow"
           parent="@android:style/Widget.Holo.ActionButton.Overflow">
        <item name="android:src">@drawable/overflow_menu</item>
    </style>

    <style name="EmergencyDialerTheme" parent="@android:style/Theme.Material.Light">
        <item name="dialpad_key_button_touch_tint">@color/dialer_dialpad_touch_tint</item>
        <item name="android:actionBarStyle">@style/TelephonyActionBarStyle</item>
        <item name="android:colorPrimary">@color/dialer_theme_color</item>
        <item name="android:colorPrimaryDark">@color/dialer_theme_color_dark</item>
    </style>

    <style name="SimImportTheme" parent="@android:style/Theme.Material.Light">
        <item name="android:actionBarStyle">@style/TelephonyActionBarStyle</item>
        <item name="android:colorPrimaryDark">@color/dialer_theme_color_dark</item>
        <item name="android:homeAsUpIndicator">@drawable/ic_back_arrow</item>
        <item name="android:actionOverflowButtonStyle">@style/DialtactsActionBarOverflow</item>
    </style>

    <style name="OutgoingCallBroadcasterTheme" parent="@android:style/Theme.Holo.NoActionBar">
        <item name="android:windowBackground">@android:color/black</item>

        <item name="*android:windowAnimationStyle">@style/OutgoingAnimationStyle</item>
    </style>

    <style name="DialtactsDigitsTextAppearance">
        <item name="android:maxLines">1</item>
        <item name="android:textSize">@dimen/dialpad_digits_text_size</item>
        <item name="android:textColor">?android:attr/textColorPrimary</item>
        <item name="android:freezesText">true</item>
        <item name="android:editable">true</item>
        <item name="android:cursorVisible">false</item>
    </style>

    <style name="Theme.Transparent" parent="android:Theme">
        <item name="android:windowIsTranslucent">true</item>
        <item name="android:windowBackground">@android:color/transparent</item>
        <item name="android:windowContentOverlay">@null</item>
        <item name="android:windowNoTitle">true</item>
        <item name="android:windowIsFloating">true</item>
        <item name="android:backgroundDimEnabled">false</item>
    </style>

    <style name="Theme.Material.Settings" parent="@android:style/Theme.Material.Settings">
        <item name="@*android:actionBarSize">56dip</item>
        <item name="preferenceBackgroundColor">@drawable/preference_background</item>
    </style>
</resources>
