Use SRC_ATOP instead of SRC_IN for blending the NotificationExpandButton

Bug: 191969252
Bug: 193157438
Test: check for number of layers in the scene
Change-Id: I65bd80c71b55582347da1559cf707e9d023b7f13
diff --git a/core/java/android/app/Notification.java b/core/java/android/app/Notification.java
index 6454d20..9d149cf 100644
--- a/core/java/android/app/Notification.java
+++ b/core/java/android/app/Notification.java
@@ -5380,14 +5380,15 @@
 
         private void bindExpandButton(RemoteViews contentView, StandardTemplateParams p) {
             // set default colors
-            int textColor = getPrimaryTextColor(p);
-            int pillColor = getColors(p).getProtectionColor();
+            int bgColor = getBackgroundColor(p);
+            int pillColor = Colors.flattenAlpha(getColors(p).getProtectionColor(), bgColor);
+            int textColor = Colors.flattenAlpha(getPrimaryTextColor(p), pillColor);
             contentView.setInt(R.id.expand_button, "setDefaultTextColor", textColor);
             contentView.setInt(R.id.expand_button, "setDefaultPillColor", pillColor);
             // Use different highlighted colors for conversations' unread count
             if (p.mHighlightExpander) {
-                textColor = getBackgroundColor(p);
-                pillColor = getPrimaryAccentColor(p);
+                pillColor = Colors.flattenAlpha(getPrimaryAccentColor(p), bgColor);
+                textColor = Colors.flattenAlpha(bgColor, pillColor);
             }
             contentView.setInt(R.id.expand_button, "setHighlightTextColor", textColor);
             contentView.setInt(R.id.expand_button, "setHighlightPillColor", pillColor);
diff --git a/core/java/com/android/internal/widget/NotificationExpandButton.java b/core/java/com/android/internal/widget/NotificationExpandButton.java
index 1974b0c..07ee9b5 100644
--- a/core/java/com/android/internal/widget/NotificationExpandButton.java
+++ b/core/java/com/android/internal/widget/NotificationExpandButton.java
@@ -20,7 +20,6 @@
 import android.annotation.Nullable;
 import android.content.Context;
 import android.content.res.ColorStateList;
-import android.graphics.PorterDuff;
 import android.graphics.Rect;
 import android.util.AttributeSet;
 import android.view.RemotableViewMethod;
@@ -159,8 +158,7 @@
             if (mHighlightPillColor != 0) {
                 mPillView.setBackgroundTintList(ColorStateList.valueOf(mHighlightPillColor));
             }
-            mPillView.setBackgroundTintMode(PorterDuff.Mode.SRC_IN);
-            mIconView.setColorFilter(mHighlightTextColor, PorterDuff.Mode.SRC_IN);
+            mIconView.setColorFilter(mHighlightTextColor);
             if (mHighlightTextColor != 0) {
                 mNumberView.setTextColor(mHighlightTextColor);
             }
@@ -168,8 +166,7 @@
             if (mDefaultPillColor != 0) {
                 mPillView.setBackgroundTintList(ColorStateList.valueOf(mDefaultPillColor));
             }
-            mPillView.setBackgroundTintMode(PorterDuff.Mode.SRC_IN);
-            mIconView.setColorFilter(mDefaultTextColor, PorterDuff.Mode.SRC_IN);
+            mIconView.setColorFilter(mDefaultTextColor);
             if (mDefaultTextColor != 0) {
                 mNumberView.setTextColor(mDefaultTextColor);
             }