diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml
index 54f6e8b274437..d896a265a755f 100644
--- a/core/res/res/values/symbols.xml
+++ b/core/res/res/values/symbols.xml
@@ -3547,6 +3547,7 @@
+
diff --git a/packages/SystemUI/src/com/android/systemui/bubbles/BubbleController.java b/packages/SystemUI/src/com/android/systemui/bubbles/BubbleController.java
index d4780f4b7da14..2372529b6f111 100644
--- a/packages/SystemUI/src/com/android/systemui/bubbles/BubbleController.java
+++ b/packages/SystemUI/src/com/android/systemui/bubbles/BubbleController.java
@@ -231,6 +231,11 @@ public class BubbleController implements Bubbles, ConfigurationController.Config
*/
private int mDensityDpi = Configuration.DENSITY_DPI_UNDEFINED;
+ /**
+ * Last known font scale, used to detect font size changes in {@link #onConfigChanged}.
+ */
+ private float mFontScale = 0;
+
/** Last known direction, used to detect layout direction changes @link #onConfigChanged}. */
private int mLayoutDirection = View.LAYOUT_DIRECTION_UNDEFINED;
@@ -990,6 +995,10 @@ public class BubbleController implements Bubbles, ConfigurationController.Config
mBubbleIconFactory = new BubbleIconFactory(mContext);
mStackView.onDisplaySizeChanged();
}
+ if (newConfig.fontScale != mFontScale) {
+ mFontScale = newConfig.fontScale;
+ mStackView.updateFlyout(mFontScale);
+ }
if (newConfig.getLayoutDirection() != mLayoutDirection) {
mLayoutDirection = newConfig.getLayoutDirection();
mStackView.onLayoutDirectionChanged(mLayoutDirection);
diff --git a/packages/SystemUI/src/com/android/systemui/bubbles/BubbleFlyoutView.java b/packages/SystemUI/src/com/android/systemui/bubbles/BubbleFlyoutView.java
index 1fa3aaae5e617..69f7828ff8fc0 100644
--- a/packages/SystemUI/src/com/android/systemui/bubbles/BubbleFlyoutView.java
+++ b/packages/SystemUI/src/com/android/systemui/bubbles/BubbleFlyoutView.java
@@ -34,6 +34,7 @@ import android.graphics.RectF;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.ShapeDrawable;
import android.text.TextUtils;
+import android.util.TypedValue;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -212,6 +213,14 @@ public class BubbleFlyoutView extends FrameLayout {
super.onDraw(canvas);
}
+ void updateFontSize(float fontScale) {
+ final float fontSize = mContext.getResources()
+ .getDimensionPixelSize(com.android.internal.R.dimen.text_size_body_2_material);
+ final float newFontSize = fontSize * fontScale;
+ mMessageText.setTextSize(TypedValue.COMPLEX_UNIT_PX, newFontSize);
+ mSenderText.setTextSize(TypedValue.COMPLEX_UNIT_PX, newFontSize);
+ }
+
/** Configures the flyout, collapsed into to dot form. */
void setupFlyoutStartingAsDot(
Bubble.FlyoutMessage flyoutMessage,
diff --git a/packages/SystemUI/src/com/android/systemui/bubbles/BubbleStackView.java b/packages/SystemUI/src/com/android/systemui/bubbles/BubbleStackView.java
index 0dcd1d2b4b092..e83954b8de188 100644
--- a/packages/SystemUI/src/com/android/systemui/bubbles/BubbleStackView.java
+++ b/packages/SystemUI/src/com/android/systemui/bubbles/BubbleStackView.java
@@ -1156,6 +1156,10 @@ public class BubbleStackView extends FrameLayout
addView(mFlyout, new FrameLayout.LayoutParams(WRAP_CONTENT, WRAP_CONTENT));
}
+ void updateFlyout(float fontScale) {
+ mFlyout.updateFontSize(fontScale);
+ }
+
private void updateOverflow() {
mBubbleOverflow.update();
mBubbleContainer.reorderView(mBubbleOverflow.getIconView(),