From d84e5937468f6ebf2313ccd5ae54d5405f5e9cde Mon Sep 17 00:00:00 2001 From: Chris Wren Date: Thu, 19 Apr 2012 17:58:03 -0400 Subject: [PATCH] fix press feedback on notification rows Change-Id: I50de2f4d6142c2553428abc853c820f4354d0640 Bug: 6362246 --- .../internal/widget/SizeAdaptiveLayout.java | 13 +++++- .../res/res/drawable/notification_bg.xml | 0 .../res/layout/notification_template_base.xml | 2 +- .../notification_template_big_picture.xml | 2 +- .../layout/notification_template_big_text.xml | 2 +- core/res/res/values/colors.xml | 2 + core/res/res/values/public.xml | 1 + .../res/drawable/size_adaptive_statelist.xml | 21 ++++++++++ .../layout/size_adaptive_color_statelist.xml | 41 +++++++++++++++++++ .../widget/SizeAdaptiveLayoutTest.java | 12 ++++++ .../drawable/notification_row_legacy_bg.xml | 2 +- .../drawable/status_bar_item_background.xml | 2 +- .../res/drawable/ticker_background.xml | 2 +- .../layout/status_bar_notification_row.xml | 6 +-- packages/SystemUI/res/values/colors.xml | 2 - .../systemui/statusbar/BaseStatusBar.java | 2 +- 16 files changed, 98 insertions(+), 14 deletions(-) rename packages/SystemUI/res/drawable/notification_row_bg.xml => core/res/res/drawable/notification_bg.xml (100%) create mode 100644 core/tests/coretests/res/drawable/size_adaptive_statelist.xml create mode 100644 core/tests/coretests/res/layout/size_adaptive_color_statelist.xml 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 @@