diff options
| author | Selim Cinek <cinek@google.com> | 2015-12-02 15:51:10 -0800 |
|---|---|---|
| committer | Selim Cinek <cinek@google.com> | 2015-12-08 16:25:00 -0800 |
| commit | ea4bef7386ca6c6260f292bf006d16a99b93f698 (patch) | |
| tree | 46cb39ff6e2cb693bb0c8cf9620cd75241f96b36 /core/java | |
| parent | d427047d98ad90c60198e90385a0152c16ee3f20 (diff) | |
Removed duplicate content from group notification header
Previously the headers all had duplicate content, which is
now optimized to look visually more appealing.
Change-Id: I38ed8db1985fd8a9470888e1b7e1e6b0f2e23b19
Diffstat (limited to 'core/java')
| -rw-r--r-- | core/java/android/app/Notification.java | 9 | ||||
| -rw-r--r-- | core/java/android/view/NotificationHeaderView.java | 22 |
2 files changed, 29 insertions, 2 deletions
diff --git a/core/java/android/app/Notification.java b/core/java/android/app/Notification.java index 6c0c3e864877..374267a4bc87 100644 --- a/core/java/android/app/Notification.java +++ b/core/java/android/app/Notification.java @@ -48,6 +48,7 @@ import android.text.TextUtils; import android.util.Log; import android.util.TypedValue; import android.view.Gravity; +import android.view.NotificationHeaderView; import android.view.View; import android.widget.ProgressBar; import android.widget.RemoteViews; @@ -3134,6 +3135,8 @@ public class Notification implements Parcelable private void bindExpandButton(RemoteViews contentView) { contentView.setDrawableParameters(R.id.expand_button, false, -1, resolveColor(), PorterDuff.Mode.SRC_ATOP, -1); + contentView.setInt(R.id.notification_header, "setOriginalNotificationColor", + resolveColor()); } private void bindHeaderChronometerAndTime(RemoteViews contentView) { @@ -3352,10 +3355,14 @@ public class Notification implements Parcelable * Apply any necessariy colors to the small icon */ private void processSmallIconColor(Icon smallIcon, RemoteViews contentView) { - if (!isLegacy() || getColorUtil().isGrayscaleIcon(mContext, smallIcon)) { + boolean colorable = !isLegacy() || getColorUtil().isGrayscaleIcon(mContext, smallIcon); + if (colorable) { contentView.setDrawableParameters(R.id.icon, false, -1, resolveColor(), PorterDuff.Mode.SRC_ATOP, -1); + } + contentView.setInt(R.id.notification_header, "setOriginalIconColor", + colorable ? resolveColor() : NotificationHeaderView.NO_COLOR); } /** diff --git a/core/java/android/view/NotificationHeaderView.java b/core/java/android/view/NotificationHeaderView.java index 82f6c7f8ce44..d4ccdbf4235c 100644 --- a/core/java/android/view/NotificationHeaderView.java +++ b/core/java/android/view/NotificationHeaderView.java @@ -17,7 +17,6 @@ package android.view; import android.annotation.Nullable; -import android.app.Notification; import android.content.Context; import android.graphics.Rect; import android.util.AttributeSet; @@ -34,6 +33,7 @@ import java.util.ArrayList; */ @RemoteViews.RemoteView public class NotificationHeaderView extends LinearLayout { + public static final int NO_COLOR = -1; private final int mHeaderMinWidth; private View mAppName; private View mSubTextView; @@ -42,6 +42,8 @@ public class NotificationHeaderView extends LinearLayout { private View mExpandButton; private View mIcon; private TextView mChildCount; + private int mIconColor; + private int mOriginalNotificationColor; public NotificationHeaderView(Context context) { this(context, null); @@ -146,6 +148,24 @@ public class NotificationHeaderView extends LinearLayout { } } + @RemotableViewMethod + public void setOriginalIconColor(int color) { + mIconColor = color; + } + + public int getOriginalIconColor() { + return mIconColor; + } + + @RemotableViewMethod + public void setOriginalNotificationColor(int color) { + mOriginalNotificationColor = color; + } + + public int getOriginalNotificationColor() { + return mOriginalNotificationColor; + } + public class HeaderTouchListener implements View.OnTouchListener { private final ArrayList<Rect> mTouchRects = new ArrayList<>(); |
