summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Lyn Han <lynhan@google.com> 2020-09-28 16:59:09 -0500
committer Lyn Han <lynhan@google.com> 2020-10-01 13:28:19 -0700
commit67486e578df35e167ec14860537132426ce89c56 (patch)
tree94eb7b2047550cf7528e90525c4d1d6b31dd0c5b
parentfd120989eb8f45ff478247568e79a9c9cc7c8845 (diff)
Update flyout post fontScale change
Fixes: 168682294 Test: change font size repeatedly => flyout text updates correctly Change-Id: I150bbfecc04a1e18476cd9fce3a2998ceaf047c1
-rw-r--r--core/res/res/values/symbols.xml1
-rw-r--r--packages/SystemUI/src/com/android/systemui/bubbles/BubbleController.java9
-rw-r--r--packages/SystemUI/src/com/android/systemui/bubbles/BubbleFlyoutView.java9
-rw-r--r--packages/SystemUI/src/com/android/systemui/bubbles/BubbleStackView.java4
4 files changed, 23 insertions, 0 deletions
diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml
index 996e1f9fde9a..d0a3a41041b9 100644
--- a/core/res/res/values/symbols.xml
+++ b/core/res/res/values/symbols.xml
@@ -3544,6 +3544,7 @@
<java-symbol type="id" name="bubble_button" />
<java-symbol type="dimen" name="bubble_visible_padding_end" />
<java-symbol type="dimen" name="bubble_gone_padding_end" />
+ <java-symbol type="dimen" name="text_size_body_2_material" />
<java-symbol type="dimen" name="messaging_avatar_size" />
<java-symbol type="dimen" name="messaging_group_sending_progress_size" />
<java-symbol type="dimen" name="messaging_image_rounding" />
diff --git a/packages/SystemUI/src/com/android/systemui/bubbles/BubbleController.java b/packages/SystemUI/src/com/android/systemui/bubbles/BubbleController.java
index dff405cb162c..cbbeb64b92fd 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;
@@ -955,6 +960,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 1fa3aaae5e61..69f7828ff8fc 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 f2fba23564da..351e61f7ee61 100644
--- a/packages/SystemUI/src/com/android/systemui/bubbles/BubbleStackView.java
+++ b/packages/SystemUI/src/com/android/systemui/bubbles/BubbleStackView.java
@@ -1155,6 +1155,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(),