Fix digit translation when digit width changes

Update font variation settings in rebase

Test: Manually
Bug: 272315016
Change-Id: I4cf63e0acac5b7bc54d1e4d8ab0252d047ebb39a
This commit is contained in:
Sherry Zhou
2023-04-10 19:57:58 +00:00
parent 837c86e86a
commit 70a00c7a17

View File

@@ -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)
}
}
}