diff --git a/core/java/com/android/internal/widget/SizeAdaptiveLayout.java b/core/java/com/android/internal/widget/SizeAdaptiveLayout.java index adfd3dcbd3652..0a99f174fdc3f 100644 --- a/core/java/com/android/internal/widget/SizeAdaptiveLayout.java +++ b/core/java/com/android/internal/widget/SizeAdaptiveLayout.java @@ -26,8 +26,11 @@ import android.content.Context; import android.content.res.TypedArray; import android.graphics.Color; import android.graphics.drawable.ColorDrawable; +import android.graphics.drawable.Drawable; +import android.graphics.drawable.StateListDrawable; import android.util.AttributeSet; import android.util.Log; +import android.util.StateSet; import android.view.View; import android.view.ViewDebug; import android.view.ViewGroup; @@ -90,8 +93,14 @@ public class SizeAdaptiveLayout extends ViewGroup { private void initialize() { mModestyPanel = new View(getContext()); // If the SizeAdaptiveLayout has a solid background, use it as a transition hint. - if (getBackground() instanceof ColorDrawable) { - mModestyPanel.setBackgroundDrawable(getBackground()); + Drawable background = getBackground(); + if (background instanceof StateListDrawable) { + StateListDrawable sld = (StateListDrawable) background; + sld.setState(StateSet.WILD_CARD); + background = sld.getCurrent(); + } + if (background instanceof ColorDrawable) { + mModestyPanel.setBackgroundDrawable(background); } else { mModestyPanel.setBackgroundColor(Color.BLACK); } diff --git a/packages/SystemUI/res/drawable/notification_row_bg.xml b/core/res/res/drawable/notification_bg.xml similarity index 100% rename from packages/SystemUI/res/drawable/notification_row_bg.xml rename to core/res/res/drawable/notification_bg.xml diff --git a/core/res/res/layout/notification_template_base.xml b/core/res/res/layout/notification_template_base.xml index bd26232696d32..af05aed4cabef 100644 --- a/core/res/res/layout/notification_template_base.xml +++ b/core/res/res/layout/notification_template_base.xml @@ -16,7 +16,7 @@ #ff000000 #ff000000 #ff000000 + #ff111111 + #ff257390 #ff000000 #60000000 + + + + + diff --git a/core/tests/coretests/res/layout/size_adaptive_color_statelist.xml b/core/tests/coretests/res/layout/size_adaptive_color_statelist.xml new file mode 100644 index 0000000000000..d24df5b304627 --- /dev/null +++ b/core/tests/coretests/res/layout/size_adaptive_color_statelist.xml @@ -0,0 +1,41 @@ + + + + + + + + + diff --git a/core/tests/coretests/src/com/android/internal/widget/SizeAdaptiveLayoutTest.java b/core/tests/coretests/src/com/android/internal/widget/SizeAdaptiveLayoutTest.java index fc83e4aebe85a..a937f65705691 100644 --- a/core/tests/coretests/src/com/android/internal/widget/SizeAdaptiveLayoutTest.java +++ b/core/tests/coretests/src/com/android/internal/widget/SizeAdaptiveLayoutTest.java @@ -19,6 +19,7 @@ package com.android.internal.widget; import com.android.frameworks.coretests.R; import android.content.Context; +import android.graphics.Color; import android.graphics.drawable.ColorDrawable; import android.test.AndroidTestCase; import android.test.suitebuilder.annotation.SmallTest; @@ -427,6 +428,17 @@ public class SizeAdaptiveLayoutTest extends AndroidTestCase { panelColor.getColor(), salColor.getColor()); } + @SmallTest + public void testModestyPanelTracksStateListColor() { + inflate(R.layout.size_adaptive_color_statelist); + View panel = mSizeAdaptiveLayout.getModestyPanel(); + assertEquals("ModestyPanel should have a ColorDrawable background" , + panel.getBackground().getClass(), ColorDrawable.class); + ColorDrawable panelColor = (ColorDrawable) panel.getBackground(); + assertEquals("ModestyPanel color should match the SizeAdaptiveLayout", + panelColor.getColor(), Color.RED); + } + @SmallTest public void testModestyPanelHasDefault() { inflate(R.layout.size_adaptive); diff --git a/packages/SystemUI/res/drawable/notification_row_legacy_bg.xml b/packages/SystemUI/res/drawable/notification_row_legacy_bg.xml index ce3372ee0f9b0..0e1bdd3f966c3 100644 --- a/packages/SystemUI/res/drawable/notification_row_legacy_bg.xml +++ b/packages/SystemUI/res/drawable/notification_row_legacy_bg.xml @@ -17,6 +17,6 @@ - + diff --git a/packages/SystemUI/res/drawable/status_bar_item_background.xml b/packages/SystemUI/res/drawable/status_bar_item_background.xml index 3a50aa957b03c..b82fed9758f08 100644 --- a/packages/SystemUI/res/drawable/status_bar_item_background.xml +++ b/packages/SystemUI/res/drawable/status_bar_item_background.xml @@ -19,7 +19,7 @@ android:opacity="translucent" > diff --git a/packages/SystemUI/res/drawable/ticker_background.xml b/packages/SystemUI/res/drawable/ticker_background.xml index 7320fa0de8037..07b44cac080e1 100644 --- a/packages/SystemUI/res/drawable/ticker_background.xml +++ b/packages/SystemUI/res/drawable/ticker_background.xml @@ -20,7 +20,7 @@ > diff --git a/packages/SystemUI/res/layout/status_bar_notification_row.xml b/packages/SystemUI/res/layout/status_bar_notification_row.xml index a0d1b08642ad2..275d6522a32ab 100644 --- a/packages/SystemUI/res/layout/status_bar_notification_row.xml +++ b/packages/SystemUI/res/layout/status_bar_notification_row.xml @@ -1,6 +1,7 @@