summaryrefslogtreecommitdiff
path: root/core/java
diff options
context:
space:
mode:
authorSelim Cinek <cinek@google.com>2015-12-02 15:51:10 -0800
committerSelim Cinek <cinek@google.com>2015-12-08 16:25:00 -0800
commitea4bef7386ca6c6260f292bf006d16a99b93f698 (patch)
tree46cb39ff6e2cb693bb0c8cf9620cd75241f96b36 /core/java
parentd427047d98ad90c60198e90385a0152c16ee3f20 (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.java9
-rw-r--r--core/java/android/view/NotificationHeaderView.java22
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<>();