diff options
4 files changed, 32 insertions, 7 deletions
diff --git a/packages/SystemUI/res/values/colors.xml b/packages/SystemUI/res/values/colors.xml index 837627c02638..4fc904b21741 100644 --- a/packages/SystemUI/res/values/colors.xml +++ b/packages/SystemUI/res/values/colors.xml @@ -202,6 +202,10 @@ <color name="global_screenshot_dismiss_foreground">@color/GM2_grey_500</color> <color name="global_screenshot_background_protection_start">#40000000</color> <!-- 25% black --> + <!-- Bubbles --> + <color name="bubbles_pointer_light">#FFFFFF</color> + <color name="bubbles_pointer_dark">@color/GM2_grey_800</color> + <!-- GM2 colors --> <color name="GM2_grey_50">#F8F9FA</color> <color name="GM2_grey_100">#F1F3F4</color> diff --git a/packages/SystemUI/src/com/android/systemui/bubbles/BubbleExpandedView.java b/packages/SystemUI/src/com/android/systemui/bubbles/BubbleExpandedView.java index c3dcc0b3038c..8460cdf84f04 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; @@ -255,8 +256,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( @@ -352,6 +351,18 @@ public class BubbleExpandedView extends LinearLayout { mContext.getResources())) { mActivityView.setCornerRadius(cornerRadius); } + + 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 b77e2261e39b..0c62e9f9f548 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 95c8d08841df..d9bf2c99eb4b 100644 --- a/packages/SystemUI/src/com/android/systemui/bubbles/BubbleStackView.java +++ b/packages/SystemUI/src/com/android/systemui/bubbles/BubbleStackView.java @@ -1097,13 +1097,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)); } /** @@ -1114,6 +1112,7 @@ public class BubbleStackView extends FrameLayout setUpOverflow(); setUpUserEducation(); setUpManageMenu(); + updateExpandedViewTheme(); } /** Respond to the phone being rotated by repositioning the stack and hiding any flyouts. */ @@ -1215,6 +1214,18 @@ public class BubbleStackView extends FrameLayout setupLocalMenu(info); } + void updateExpandedViewTheme() { + final List<Bubble> 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(); |