diff --git a/packages/SystemUI/res/values/colors.xml b/packages/SystemUI/res/values/colors.xml index 837627c02638f..4fc904b21741e 100644 --- a/packages/SystemUI/res/values/colors.xml +++ b/packages/SystemUI/res/values/colors.xml @@ -202,6 +202,10 @@ @color/GM2_grey_500 #40000000 + + #FFFFFF + @color/GM2_grey_800 + #F8F9FA #F1F3F4 diff --git a/packages/SystemUI/src/com/android/systemui/bubbles/BubbleExpandedView.java b/packages/SystemUI/src/com/android/systemui/bubbles/BubbleExpandedView.java index 2fd4d2aaf1d7a..ec875f8f0e1a2 100644 --- a/packages/SystemUI/src/com/android/systemui/bubbles/BubbleExpandedView.java +++ b/packages/SystemUI/src/com/android/systemui/bubbles/BubbleExpandedView.java @@ -42,6 +42,7 @@ import android.app.PendingIntent; import android.content.ComponentName; import android.content.Context; import android.content.Intent; +import android.content.res.Configuration; import android.content.res.Resources; import android.content.res.TypedArray; import android.graphics.Color; @@ -274,8 +275,6 @@ public class BubbleExpandedView extends LinearLayout { mPointerDrawable = new ShapeDrawable(TriangleShape.create( mPointerWidth, mPointerHeight, true /* pointUp */)); - mPointerDrawable.setTint(Color.WHITE); - mPointerView.setBackground(mPointerDrawable); mPointerView.setVisibility(INVISIBLE); mSettingsIconHeight = getContext().getResources().getDimensionPixelSize( @@ -425,6 +424,18 @@ public class BubbleExpandedView extends LinearLayout { mContext.getResources())) { mActivityView.setCornerRadius(mCornerRadius); } + + final int mode = + getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK; + switch (mode) { + case Configuration.UI_MODE_NIGHT_NO: + mPointerDrawable.setTint(getResources().getColor(R.color.bubbles_pointer_light)); + break; + case Configuration.UI_MODE_NIGHT_YES: + mPointerDrawable.setTint(getResources().getColor(R.color.bubbles_pointer_dark)); + break; + } + mPointerView.setBackground(mPointerDrawable); } /** diff --git a/packages/SystemUI/src/com/android/systemui/bubbles/BubbleOverflow.java b/packages/SystemUI/src/com/android/systemui/bubbles/BubbleOverflow.java index b77e2261e39ba..0c62e9f9f5482 100644 --- a/packages/SystemUI/src/com/android/systemui/bubbles/BubbleOverflow.java +++ b/packages/SystemUI/src/com/android/systemui/bubbles/BubbleOverflow.java @@ -62,13 +62,12 @@ public class BubbleOverflow implements BubbleViewProvider { void setUpOverflow(ViewGroup parentViewGroup, BubbleStackView stackView) { updateDimensions(); - mExpandedView = (BubbleExpandedView) mInflater.inflate( R.layout.bubble_expanded_view, parentViewGroup /* root */, false /* attachToRoot */); mExpandedView.setOverflow(true); mExpandedView.setStackView(stackView); - + mExpandedView.applyThemeAttrs(); updateIcon(mContext, parentViewGroup); } diff --git a/packages/SystemUI/src/com/android/systemui/bubbles/BubbleStackView.java b/packages/SystemUI/src/com/android/systemui/bubbles/BubbleStackView.java index 492d138e7ddb5..1437501a9ea11 100644 --- a/packages/SystemUI/src/com/android/systemui/bubbles/BubbleStackView.java +++ b/packages/SystemUI/src/com/android/systemui/bubbles/BubbleStackView.java @@ -1100,13 +1100,11 @@ public class BubbleStackView extends FrameLayout mBubbleOverflow.setUpOverflow(mBubbleContainer, this); } else { mBubbleContainer.removeView(mBubbleOverflow.getBtn()); - mBubbleOverflow.updateDimensions(); - mBubbleOverflow.updateIcon(mContext,this); + mBubbleOverflow.setUpOverflow(mBubbleContainer, this); overflowBtnIndex = mBubbleContainer.getChildCount(); } mBubbleContainer.addView(mBubbleOverflow.getBtn(), overflowBtnIndex, new FrameLayout.LayoutParams(WRAP_CONTENT, WRAP_CONTENT)); - mBubbleOverflow.getBtn().setOnClickListener(v -> setSelectedBubble(mBubbleOverflow)); } /** @@ -1117,6 +1115,7 @@ public class BubbleStackView extends FrameLayout setUpOverflow(); setUpUserEducation(); setUpManageMenu(); + updateExpandedViewTheme(); } /** Respond to the phone being rotated by repositioning the stack and hiding any flyouts. */ @@ -1218,6 +1217,18 @@ public class BubbleStackView extends FrameLayout setupLocalMenu(info); } + void updateExpandedViewTheme() { + final List bubbles = mBubbleData.getBubbles(); + if (bubbles.isEmpty()) { + return; + } + bubbles.forEach(bubble -> { + if (bubble.getExpandedView() != null) { + bubble.getExpandedView().applyThemeAttrs(); + } + }); + } + void setupLocalMenu(AccessibilityNodeInfo info) { Resources res = mContext.getResources();