Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a72ef62e authored by Adam Powell's avatar Adam Powell
Browse files

Add style/theme definitions for solid action bar configurations.

Change-Id: I540e12ad3d8fc779dac24402286d995f542b5d25
parent 6d815e9d
Loading
Loading
Loading
Loading
+19 −0
Original line number Diff line number Diff line
@@ -254,6 +254,8 @@ package android {
    field public static final int background = 16842964; // 0x10100d4
    field public static final int backgroundDimAmount = 16842802; // 0x1010032
    field public static final int backgroundDimEnabled = 16843295; // 0x101021f
    field public static final int backgroundSplit = 16843679; // 0x101039f
    field public static final int backgroundStacked = 16843678; // 0x101039e
    field public static final int backupAgent = 16843391; // 0x101027f
    field public static final int baseline = 16843548; // 0x101031c
    field public static final int baselineAlignBottom = 16843042; // 0x1010122
@@ -1511,9 +1513,13 @@ package android {
    field public static final int TextAppearance_Holo_Small_Inverse = 16974082; // 0x1030102
    field public static final int TextAppearance_Holo_Widget = 16974085; // 0x1030105
    field public static final int TextAppearance_Holo_Widget_ActionBar_Subtitle = 16974099; // 0x1030113
    field public static final int TextAppearance_Holo_Widget_ActionBar_Subtitle_Inverse = 16974110; // 0x103011e
    field public static final int TextAppearance_Holo_Widget_ActionBar_Title = 16974098; // 0x1030112
    field public static final int TextAppearance_Holo_Widget_ActionBar_Title_Inverse = 16974109; // 0x103011d
    field public static final int TextAppearance_Holo_Widget_ActionMode_Subtitle = 16974101; // 0x1030115
    field public static final int TextAppearance_Holo_Widget_ActionMode_Subtitle_Inverse = 16974112; // 0x1030120
    field public static final int TextAppearance_Holo_Widget_ActionMode_Title = 16974100; // 0x1030114
    field public static final int TextAppearance_Holo_Widget_ActionMode_Title_Inverse = 16974111; // 0x103011f
    field public static final int TextAppearance_Holo_Widget_Button = 16974086; // 0x1030106
    field public static final int TextAppearance_Holo_Widget_DropDownHint = 16974091; // 0x103010b
    field public static final int TextAppearance_Holo_Widget_DropDownItem = 16974092; // 0x103010c
@@ -1576,10 +1582,16 @@ package android {
    field public static final int Theme_Holo_Light_NoActionBar = 16974064; // 0x10300f0
    field public static final int Theme_Holo_Light_NoActionBar_Fullscreen = 16974065; // 0x10300f1
    field public static final int Theme_Holo_Light_Panel = 16973948; // 0x103007c
    field public static final int Theme_Holo_Light_SolidActionBar = 16974121; // 0x1030129
    field public static final int Theme_Holo_Light_SolidActionBar_Inverse = 16974122; // 0x103012a
    field public static final int Theme_Holo_Light_SolidActionBar_Inverse_SplitActionBarWhenNarrow = 16974125; // 0x103012d
    field public static final int Theme_Holo_Light_SolidActionBar_SplitActionBarWhenNarrow = 16974124; // 0x103012c
    field public static final int Theme_Holo_Light_SplitActionBarWhenNarrow = 16974106; // 0x103011a
    field public static final int Theme_Holo_NoActionBar = 16973932; // 0x103006c
    field public static final int Theme_Holo_NoActionBar_Fullscreen = 16973933; // 0x103006d
    field public static final int Theme_Holo_Panel = 16973947; // 0x103007b
    field public static final int Theme_Holo_SolidActionBar = 16974120; // 0x1030128
    field public static final int Theme_Holo_SolidActionBar_SplitActionBarWhenNarrow = 16974123; // 0x103012b
    field public static final int Theme_Holo_SplitActionBarWhenNarrow = 16974105; // 0x1030119
    field public static final int Theme_Holo_Wallpaper = 16973949; // 0x103007d
    field public static final int Theme_Holo_Wallpaper_NoTitleBar = 16973950; // 0x103007e
@@ -1631,6 +1643,7 @@ package android {
    field public static final int Widget_GridView = 16973874; // 0x1030032
    field public static final int Widget_Holo = 16973962; // 0x103008a
    field public static final int Widget_Holo_ActionBar = 16974004; // 0x10300b4
    field public static final int Widget_Holo_ActionBar_Solid = 16974113; // 0x1030121
    field public static final int Widget_Holo_ActionBar_TabBar = 16974071; // 0x10300f7
    field public static final int Widget_Holo_ActionBar_TabText = 16974070; // 0x10300f6
    field public static final int Widget_Holo_ActionBar_TabView = 16974069; // 0x10300f5
@@ -1660,13 +1673,19 @@ package android {
    field public static final int Widget_Holo_ImageButton = 16973974; // 0x1030096
    field public static final int Widget_Holo_Light = 16974005; // 0x10300b5
    field public static final int Widget_Holo_Light_ActionBar = 16974049; // 0x10300e1
    field public static final int Widget_Holo_Light_ActionBar_Solid = 16974114; // 0x1030122
    field public static final int Widget_Holo_Light_ActionBar_Solid_Inverse = 16974115; // 0x1030123
    field public static final int Widget_Holo_Light_ActionBar_TabBar = 16974074; // 0x10300fa
    field public static final int Widget_Holo_Light_ActionBar_TabBar_Inverse = 16974116; // 0x1030124
    field public static final int Widget_Holo_Light_ActionBar_TabText = 16974073; // 0x10300f9
    field public static final int Widget_Holo_Light_ActionBar_TabText_Inverse = 16974118; // 0x1030126
    field public static final int Widget_Holo_Light_ActionBar_TabView = 16974072; // 0x10300f8
    field public static final int Widget_Holo_Light_ActionBar_TabView_Inverse = 16974117; // 0x1030125
    field public static final int Widget_Holo_Light_ActionButton = 16974045; // 0x10300dd
    field public static final int Widget_Holo_Light_ActionButton_CloseMode = 16974048; // 0x10300e0
    field public static final int Widget_Holo_Light_ActionButton_Overflow = 16974046; // 0x10300de
    field public static final int Widget_Holo_Light_ActionMode = 16974047; // 0x10300df
    field public static final int Widget_Holo_Light_ActionMode_Inverse = 16974119; // 0x1030127
    field public static final int Widget_Holo_Light_AutoCompleteTextView = 16974011; // 0x10300bb
    field public static final int Widget_Holo_Light_Button = 16974006; // 0x10300b6
    field public static final int Widget_Holo_Light_Button_Borderless_Small = 16974108; // 0x103011c
+66 −1
Original line number Diff line number Diff line
@@ -19,6 +19,8 @@ package com.android.internal.widget;
import android.app.ActionBar;
import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.Canvas;
import android.graphics.drawable.Drawable;
import android.util.AttributeSet;
import android.view.ActionMode;
import android.view.MotionEvent;
@@ -35,6 +37,12 @@ public class ActionBarContainer extends FrameLayout {
    private View mTabContainer;
    private ActionBarView mActionBarView;

    private Drawable mBackground;
    private Drawable mStackedBackground;
    private Drawable mSplitBackground;
    private boolean mIsSplit;
    private boolean mIsStacked;

    public ActionBarContainer(Context context) {
        this(context, null);
    }
@@ -42,10 +50,23 @@ public class ActionBarContainer extends FrameLayout {
    public ActionBarContainer(Context context, AttributeSet attrs) {
        super(context, attrs);

        setBackgroundDrawable(null);

        TypedArray a = context.obtainStyledAttributes(attrs,
                com.android.internal.R.styleable.ActionBar);
        setBackgroundDrawable(a.getDrawable(com.android.internal.R.styleable.ActionBar_background));
        mBackground = a.getDrawable(com.android.internal.R.styleable.ActionBar_background);
        mStackedBackground = a.getDrawable(
                com.android.internal.R.styleable.ActionBar_backgroundStacked);

        if (getId() == com.android.internal.R.id.split_action_bar) {
            mIsSplit = true;
            mSplitBackground = a.getDrawable(
                    com.android.internal.R.styleable.ActionBar_backgroundSplit);
        }
        a.recycle();

        setWillNotDraw(mIsSplit ? mSplitBackground == null :
                mBackground == null && mStackedBackground == null);
    }

    @Override
@@ -95,6 +116,24 @@ public class ActionBarContainer extends FrameLayout {
        return mTabContainer;
    }

    @Override
    public void onDraw(Canvas canvas) {
        if (getWidth() == 0 || getHeight() == 0) {
            return;
        }

        if (mIsSplit) {
            if (mSplitBackground != null) mSplitBackground.draw(canvas);
        } else {
            if (mBackground != null) {
                mBackground.draw(canvas);
            }
            if (mStackedBackground != null && mIsStacked) {
                mStackedBackground.draw(canvas);
            }
        }
    }

    @Override
    public ActionMode startActionModeForChild(View child, ActionMode.Callback callback) {
        // No starting an action mode for an action bar child! (Where would it go?)
@@ -125,6 +164,9 @@ public class ActionBarContainer extends FrameLayout {
    @Override
    public void onLayout(boolean changed, int l, int t, int r, int b) {
        super.onLayout(changed, l, t, r, b);

        final boolean hasTabs = mTabContainer != null && mTabContainer.getVisibility() != GONE;

        if (mTabContainer != null && mTabContainer.getVisibility() != GONE) {
            final int containerHeight = getMeasuredHeight();
            final int tabHeight = mTabContainer.getMeasuredHeight();
@@ -146,5 +188,28 @@ public class ActionBarContainer extends FrameLayout {
                mTabContainer.layout(l, containerHeight - tabHeight, r, containerHeight);
            }
        }

        boolean needsInvalidate = false;
        if (mIsSplit) {
            if (mSplitBackground != null) {
                mSplitBackground.setBounds(0, 0, getMeasuredWidth(), getMeasuredHeight());
                needsInvalidate = true;
            }
        } else {
            if (mBackground != null) {
                mBackground.setBounds(mActionBarView.getLeft(), mActionBarView.getTop(),
                        mActionBarView.getRight(), mActionBarView.getBottom());
                needsInvalidate = true;
            }
            if ((mIsStacked = hasTabs && mStackedBackground != null)) {
                mStackedBackground.setBounds(mTabContainer.getLeft(), mTabContainer.getTop(),
                        mTabContainer.getRight(), mTabContainer.getBottom());
                needsInvalidate = true;
            }
        }

        if (needsInvalidate) {
            invalidate();
        }
    }
}
+4 −0
Original line number Diff line number Diff line
@@ -5210,6 +5210,10 @@
        <attr name="divider" />
        <!-- Specifies a background drawable for the action bar. -->
        <attr name="background" />
        <!-- Specifies a background drawable for a second stacked row of the action bar. -->
        <attr name="backgroundStacked" format="reference" />
        <!-- Specifies a background drawable for the bottom component of a split action bar. -->
        <attr name="backgroundSplit" format="reference" />
        <!-- Specifies a layout for custom navigation. Overrides navigationMode. -->
        <attr name="customNavigationLayout" format="reference" />
        <!-- Specifies a fixed height. -->
+28 −8
Original line number Diff line number Diff line
@@ -1714,10 +1714,6 @@
  <public type="attr" name="switchTextOff" />
  <public type="attr" name="switchPreferenceStyle" />

  <public type="style" name="TextAppearance.SuggestionHighlight" />
  <public type="style" name="Theme.Holo.SplitActionBarWhenNarrow" />
  <public type="style" name="Theme.Holo.Light.SplitActionBarWhenNarrow" />

  <public type="attr" name="textSuggestionsWindowStyle" />
  <public type="attr" name="textEditSuggestionsBottomWindowLayout" />
  <public type="attr" name="textEditSuggestionsTopWindowLayout" />
@@ -1776,14 +1772,38 @@

  <public type="attr" name="actionBarSplitStyle" />

  <public type="attr" name="textDirection"/>

  <public type="attr" name="actionProviderClass" />

  <public type="attr" name="backgroundStacked" />
  <public type="attr" name="backgroundSplit" />

  <public type="style" name="TextAppearance.SuggestionHighlight" />
  <public type="style" name="Theme.Holo.SplitActionBarWhenNarrow" />
  <public type="style" name="Theme.Holo.Light.SplitActionBarWhenNarrow" />

  <public type="style" name="Widget.Holo.Button.Borderless.Small" />
  <public type="style" name="Widget.Holo.Light.Button.Borderless.Small" />
  <public type="style" name="TextAppearance.Holo.Widget.ActionBar.Title.Inverse" />
  <public type="style" name="TextAppearance.Holo.Widget.ActionBar.Subtitle.Inverse" />
  <public type="style" name="TextAppearance.Holo.Widget.ActionMode.Title.Inverse" />
  <public type="style" name="TextAppearance.Holo.Widget.ActionMode.Subtitle.Inverse" />
  <public type="style" name="Widget.Holo.ActionBar.Solid" />
  <public type="style" name="Widget.Holo.Light.ActionBar.Solid" />
  <public type="style" name="Widget.Holo.Light.ActionBar.Solid.Inverse" />
  <public type="style" name="Widget.Holo.Light.ActionBar.TabBar.Inverse" />
  <public type="style" name="Widget.Holo.Light.ActionBar.TabView.Inverse" />
  <public type="style" name="Widget.Holo.Light.ActionBar.TabText.Inverse" />
  <public type="style" name="Widget.Holo.Light.ActionMode.Inverse" />
  <public type="style" name="Theme.Holo.SolidActionBar" />
  <public type="style" name="Theme.Holo.Light.SolidActionBar" />
  <public type="style" name="Theme.Holo.Light.SolidActionBar.Inverse" />
  <public type="style" name="Theme.Holo.SolidActionBar.SplitActionBarWhenNarrow" />
  <public type="style" name="Theme.Holo.Light.SolidActionBar.SplitActionBarWhenNarrow" />
  <public type="style" name="Theme.Holo.Light.SolidActionBar.Inverse.SplitActionBarWhenNarrow" />

  <public type="integer" name="status_bar_notification_info_maxnum" />
  <public type="string" name="status_bar_notification_info_overflow" />

  <public type="attr" name="textDirection"/>

  <public type="attr" name="actionProviderClass" />

</resources>
+88 −4
Original line number Diff line number Diff line
@@ -1304,13 +1304,37 @@
        <item name="android:textSize">@android:dimen/action_bar_subtitle_text_size</item>
    </style>

    <style name="TextAppearance.Holo.Widget.ActionBar.Title.Inverse"
           parent="TextAppearance.Holo.Medium.Inverse">
        <item name="android:textSize">@android:dimen/action_bar_title_text_size</item>
    </style>

    <style name="TextAppearance.Holo.Widget.ActionBar.Subtitle.Inverse"
           parent="TextAppearance.Holo.Small.Inverse">
        <item name="android:textSize">@android:dimen/action_bar_subtitle_text_size</item>
    </style>

    <style name="TextAppearance.Holo.Widget.ActionMode">
    </style>

    <style name="TextAppearance.Holo.Widget.ActionMode.Title" parent="TextAppearance.Widget.ActionMode.Title">
    <style name="TextAppearance.Holo.Widget.ActionMode.Title"
           parent="TextAppearance.Holo.Medium">
        <item name="android:textSize">@android:dimen/action_bar_title_text_size</item>
    </style>

    <style name="TextAppearance.Holo.Widget.ActionMode.Subtitle"
           parent="TextAppearance.Holo.Small">
        <item name="android:textSize">@android:dimen/action_bar_subtitle_text_size</item>
    </style>

    <style name="TextAppearance.Holo.Widget.ActionMode.Subtitle" parent="TextAppearance.Widget.ActionMode.Subtitle">
    <style name="TextAppearance.Holo.Widget.ActionMode.Title.Inverse"
           parent="TextAppearance.Holo.Medium.Inverse">
        <item name="android:textSize">@android:dimen/action_bar_title_text_size</item>
    </style>

    <style name="TextAppearance.Holo.Widget.ActionMode.Subtitle.Inverse"
           parent="TextAppearance.Holo.Small.Inverse">
        <item name="android:textSize">@android:dimen/action_bar_subtitle_text_size</item>
    </style>

    <style name="TextAppearance.Holo.Widget.Switch" parent="TextAppearance.Holo.Small">
@@ -1839,7 +1863,22 @@
    <style name="Widget.Holo.ActionBar" parent="Widget.ActionBar">
        <item name="android:titleTextStyle">@android:style/TextAppearance.Holo.Widget.ActionBar.Title</item>
        <item name="android:subtitleTextStyle">@android:style/TextAppearance.Holo.Widget.ActionBar.Subtitle</item>
        <item name="android:background">@null</item>
        <item name="android:background">@android:drawable/ab_transparent_dark_holo</item>
        <item name="android:backgroundStacked">@android:drawable/ab_stacked_transparent_dark_holo</item>
        <item name="android:backgroundSplit">@android:drawable/ab_bottom_transparent_dark_holo</item>
        <item name="android:divider">?android:attr/dividerVertical</item>
        <item name="android:progressBarStyle">@android:style/Widget.Holo.ProgressBar.Horizontal</item>
        <item name="android:indeterminateProgressStyle">@android:style/Widget.Holo.ProgressBar</item>
        <item name="android:progressBarPadding">32dip</item>
        <item name="android:itemPadding">8dip</item>
    </style>

    <style name="Widget.Holo.ActionBar.Solid">
        <item name="android:titleTextStyle">@android:style/TextAppearance.Holo.Widget.ActionBar.Title</item>
        <item name="android:subtitleTextStyle">@android:style/TextAppearance.Holo.Widget.ActionBar.Subtitle</item>
        <item name="android:background">@android:drawable/ab_solid_dark_holo</item>
        <item name="android:backgroundStacked">@android:drawable/ab_stacked_solid_dark_holo</item>
        <item name="android:backgroundSplit">@android:drawable/ab_bottom_solid_dark_holo</item>
        <item name="android:divider">?android:attr/dividerVertical</item>
        <item name="android:progressBarStyle">@android:style/Widget.Holo.ProgressBar.Horizontal</item>
        <item name="android:indeterminateProgressStyle">@android:style/Widget.Holo.ProgressBar</item>
@@ -2157,23 +2196,68 @@
    <style name="Widget.Holo.Light.ActionBar.TabText" parent="Widget.Holo.ActionBar.TabText">
    </style>

    <style name="Widget.Holo.Light.ActionBar.TabView.Inverse">
    </style>

    <style name="Widget.Holo.Light.ActionBar.TabBar.Inverse">
    </style>

    <style name="Widget.Holo.Light.ActionBar.TabText.Inverse">
        <item name="android:textAppearance">@style/TextAppearance.Holo.Medium</item>
        <item name="android:textColor">?android:attr/textColorPrimaryInverse</item>
        <item name="android:textSize">18sp</item>
    </style>

    <style name="Widget.Holo.Light.ActionMode" parent="Widget.Holo.ActionMode">
        <item name="android:titleTextStyle">@android:style/TextAppearance.Holo.Widget.ActionMode.Title</item>
        <item name="android:subtitleTextStyle">@android:style/TextAppearance.Holo.Widget.ActionMode.Subtitle</item>
    </style>

    <style name="Widget.Holo.Light.ActionMode.Inverse" parent="Widget.ActionMode">
        <item name="android:titleTextStyle">@android:style/TextAppearance.Holo.Widget.ActionMode.Title.Inverse</item>
        <item name="android:subtitleTextStyle">@android:style/TextAppearance.Holo.Widget.ActionMode.Subtitle.Inverse</item>
    </style>

    <style name="Widget.Holo.Light.ActionButton.CloseMode">
    </style>

    <style name="Widget.Holo.Light.ActionBar" parent="Widget.Holo.ActionBar">
        <item name="android:titleTextStyle">@android:style/TextAppearance.Holo.Widget.ActionBar.Title</item>
        <item name="android:subtitleTextStyle">@android:style/TextAppearance.Holo.Widget.ActionBar.Subtitle</item>
        <item name="android:background">@null</item>
        <item name="android:background">@android:drawable/ab_transparent_light_holo</item>
        <item name="android:backgroundStacked">@android:drawable/ab_stacked_transparent_light_holo</item>
        <item name="android:backgroundSplit">@android:drawable/ab_bottom_transparent_light_holo</item>
        <item name="android:homeAsUpIndicator">@android:drawable/ic_ab_back_holo_light</item>
        <item name="android:progressBarStyle">@android:style/Widget.Holo.Light.ProgressBar.Horizontal</item>
        <item name="android:indeterminateProgressStyle">@android:style/Widget.Holo.Light.ProgressBar</item>
    </style>

    <style name="Widget.Holo.Light.ActionBar.Solid">
        <item name="android:titleTextStyle">@android:style/TextAppearance.Holo.Widget.ActionBar.Title</item>
        <item name="android:subtitleTextStyle">@android:style/TextAppearance.Holo.Widget.ActionBar.Subtitle</item>
        <item name="android:background">@android:drawable/ab_solid_light_holo</item>
        <item name="android:backgroundStacked">@android:drawable/ab_stacked_solid_light_holo</item>
        <item name="android:backgroundSplit">@android:drawable/ab_bottom_solid_light_holo</item>
        <item name="android:divider">?android:attr/dividerVertical</item>
        <item name="android:progressBarStyle">@android:style/Widget.Holo.Light.ProgressBar.Horizontal</item>
        <item name="android:indeterminateProgressStyle">@android:style/Widget.Holo.Light.ProgressBar</item>
        <item name="android:progressBarPadding">32dip</item>
        <item name="android:itemPadding">8dip</item>
    </style>

    <style name="Widget.Holo.Light.ActionBar.Solid.Inverse">
        <item name="android:titleTextStyle">@android:style/TextAppearance.Holo.Widget.ActionBar.Title.Inverse</item>
        <item name="android:subtitleTextStyle">@android:style/TextAppearance.Holo.Widget.ActionBar.Subtitle.Inverse</item>
        <item name="android:background">@android:drawable/ab_solid_dark_holo</item>
        <item name="android:backgroundStacked">@android:drawable/ab_stacked_solid_dark_holo</item>
        <item name="android:backgroundSplit">@android:drawable/ab_bottom_solid_inverse_holo</item>
        <item name="android:divider">@android:drawable/list_divider_holo_dark</item>
        <item name="android:progressBarStyle">@android:style/Widget.Holo.ProgressBar.Horizontal</item>
        <item name="android:indeterminateProgressStyle">@android:style/Widget.Holo.ProgressBar</item>
        <item name="android:progressBarPadding">32dip</item>
        <item name="android:itemPadding">8dip</item>
    </style>

    <!-- Animation Styles -->

    <style name="Animation.Holo" parent="Animation">
Loading