From 5cba862628b5f3e69cd05e97f6df6e101ebf4097 Mon Sep 17 00:00:00 2001 From: Gilles Debunne Date: Wed, 12 Jan 2011 19:52:56 -0800 Subject: [PATCH] QuickContactBadge shows its pressed state Change-Id: I7dfd02cc5c4e0a5ba6a7d65c2c61d650f5aa9249 --- core/java/android/widget/QuickContactBadge.java | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/core/java/android/widget/QuickContactBadge.java b/core/java/android/widget/QuickContactBadge.java index bc8950773c260..5f3d21feab08e 100644 --- a/core/java/android/widget/QuickContactBadge.java +++ b/core/java/android/widget/QuickContactBadge.java @@ -112,6 +112,16 @@ public class QuickContactBadge extends ImageView implements OnClickListener { mBadgeBackground = getBackground(); } + @Override + protected void drawableStateChanged() { + super.drawableStateChanged(); + Drawable d = mOverlay; + if (d != null && d.isStateful()) { + d.setState(getDrawableState()); + invalidate(); + } + } + private void init() { mQueryHandler = new QueryHandler(mContext.getContentResolver()); setOnClickListener(this); @@ -130,7 +140,8 @@ public class QuickContactBadge extends ImageView implements OnClickListener { protected void onDraw(Canvas canvas) { super.onDraw(canvas); - if (mOverlay == null || mOverlay.getIntrinsicWidth() == 0 || mOverlay.getIntrinsicHeight() == 0) { + if (mOverlay == null || mOverlay.getIntrinsicWidth() == 0 || + mOverlay.getIntrinsicHeight() == 0) { return; // nothing to draw }