diff options
| author | 2023-04-10 19:57:58 +0000 | |
|---|---|---|
| committer | 2023-04-12 18:43:54 +0000 | |
| commit | 70a00c7a17dd9883d5c6935d2a399666d053187c (patch) | |
| tree | 770486851d1bba101ada8e3d02bda225e6d197d4 | |
| parent | 837c86e86acffa1a6d965ec03869b546683a9201 (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.kt | 12 |
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) } } } |