summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Sherry Zhou <yuandizhou@google.com> 2023-04-10 19:57:58 +0000
committer Sherry Zhou <yuandizhou@google.com> 2023-04-12 18:43:54 +0000
commit70a00c7a17dd9883d5c6935d2a399666d053187c (patch)
tree770486851d1bba101ada8e3d02bda225e6d197d4
parent837c86e86acffa1a6d965ec03869b546683a9201 (diff)
Fix digit translation when digit width changes
Update font variation settings in rebase Test: Manually Bug: 272315016 Change-Id: I4cf63e0acac5b7bc54d1e4d8ab0252d047ebb39a
-rw-r--r--packages/SystemUI/animation/src/com/android/systemui/animation/TextInterpolator.kt12
1 files changed, 10 insertions, 2 deletions
diff --git a/packages/SystemUI/animation/src/com/android/systemui/animation/TextInterpolator.kt b/packages/SystemUI/animation/src/com/android/systemui/animation/TextInterpolator.kt
index 3eb7fd84dc49..23f16f2a3137 100644
--- a/packages/SystemUI/animation/src/com/android/systemui/animation/TextInterpolator.kt
+++ b/packages/SystemUI/animation/src/com/android/systemui/animation/TextInterpolator.kt
@@ -18,6 +18,7 @@ package com.android.systemui.animation
import android.graphics.Canvas
import android.graphics.Paint
import android.graphics.fonts.Font
+import android.graphics.fonts.FontVariationAxis
import android.graphics.text.PositionedGlyphs
import android.text.Layout
import android.text.TextPaint
@@ -211,8 +212,15 @@ class TextInterpolator(layout: Layout) {
run.baseX[i] = MathUtils.lerp(run.baseX[i], run.targetX[i], progress)
run.baseY[i] = MathUtils.lerp(run.baseY[i], run.targetY[i], progress)
}
- run.fontRuns.forEach {
- it.baseFont = fontInterpolator.lerp(it.baseFont, it.targetFont, progress)
+ run.fontRuns.forEach { fontRun ->
+ fontRun.baseFont =
+ fontInterpolator.lerp(fontRun.baseFont, fontRun.targetFont, progress)
+ val tmpFontVariationsArray = mutableListOf<FontVariationAxis>()
+ fontRun.baseFont.axes.forEach {
+ tmpFontVariationsArray.add(FontVariationAxis(it.tag, it.styleValue))
+ }
+ basePaint.fontVariationSettings =
+ FontVariationAxis.toFontVariationSettings(tmpFontVariationsArray)
}
}
}