diff options
| author | 2022-08-22 12:58:56 +0000 | |
|---|---|---|
| committer | 2022-08-22 19:56:14 +0000 | |
| commit | 4466bbb4f645a3567026603eb73595c9f45733ff (patch) | |
| tree | a3f2214e5be135cd53a0824ab4b5d142027130cd | |
| parent | 9dce321437229f6ccc48d029a0cef719d648a5fe (diff) | |
Dump additional AnimatableClock updates
Test: dump sysui
Bug: 241729527
Bug: 222260948
Change-Id: I8d747a08e4d0a0ad211872f0d2a8495839b0f3a5
Merged-In: I8d747a08e4d0a0ad211872f0d2a8495839b0f3a5
| -rw-r--r-- | packages/SystemUI/shared/src/com/android/systemui/shared/clocks/AnimatableClockView.kt | 36 |
1 files changed, 34 insertions, 2 deletions
diff --git a/packages/SystemUI/shared/src/com/android/systemui/shared/clocks/AnimatableClockView.kt b/packages/SystemUI/shared/src/com/android/systemui/shared/clocks/AnimatableClockView.kt index 4aee8aa20324..c2fda82cefdc 100644 --- a/packages/SystemUI/shared/src/com/android/systemui/shared/clocks/AnimatableClockView.kt +++ b/packages/SystemUI/shared/src/com/android/systemui/shared/clocks/AnimatableClockView.kt @@ -47,7 +47,12 @@ class AnimatableClockView @JvmOverloads constructor( defStyleRes: Int = 0 ) : TextView(context, attrs, defStyleAttr, defStyleRes) { - private var lastMeasureCall: CharSequence = "" + private var lastMeasureCall: CharSequence? = null + private var lastDraw: CharSequence? = null + private var lastTextUpdate: CharSequence? = null + private var lastOnTextChanged: CharSequence? = null + private var lastInvalidate: CharSequence? = null + private var lastTimeZoneChange: CharSequence? = null private val time = Calendar.getInstance() @@ -135,18 +140,19 @@ class AnimatableClockView @JvmOverloads constructor( // relayout if the text didn't actually change. if (!TextUtils.equals(text, formattedText)) { text = formattedText + lastTextUpdate = getTimestamp() } } fun onTimeZoneChanged(timeZone: TimeZone?) { time.timeZone = timeZone refreshFormat() + lastTimeZoneChange = "${getTimestamp()} timeZone=${time.timeZone}" } @SuppressLint("DrawAllocation") override fun onMeasure(widthMeasureSpec: Int, heightMeasureSpec: Int) { super.onMeasure(widthMeasureSpec, heightMeasureSpec) - lastMeasureCall = DateFormat.format(descFormat, System.currentTimeMillis()) val animator = textAnimator if (animator == null) { textAnimator = TextAnimator(layout) { invalidate() } @@ -155,13 +161,34 @@ class AnimatableClockView @JvmOverloads constructor( } else { animator.updateLayout(layout) } + lastMeasureCall = getTimestamp() } override fun onDraw(canvas: Canvas) { + lastDraw = getTimestamp() // intentionally doesn't call super.onDraw here or else the text will be rendered twice textAnimator?.draw(canvas) } + override fun invalidate() { + super.invalidate() + lastInvalidate = getTimestamp() + } + + private fun getTimestamp(): CharSequence { + return "${DateFormat.format("HH:mm:ss", System.currentTimeMillis())} text=$text" + } + + override fun onTextChanged( + text: CharSequence, + start: Int, + lengthBefore: Int, + lengthAfter: Int + ) { + super.onTextChanged(text, start, lengthBefore, lengthAfter) + lastOnTextChanged = "${getTimestamp()}" + } + fun setLineSpacingScale(scale: Float) { lineSpacingScale = scale setLineSpacing(0f, lineSpacingScale) @@ -354,7 +381,12 @@ class AnimatableClockView @JvmOverloads constructor( pw.println(" measuredWidth=$measuredWidth") pw.println(" measuredHeight=$measuredHeight") pw.println(" singleLineInternal=$isSingleLineInternal") + pw.println(" lastTextUpdate=$lastTextUpdate") + pw.println(" lastOnTextChanged=$lastOnTextChanged") + pw.println(" lastInvalidate=$lastInvalidate") pw.println(" lastMeasureCall=$lastMeasureCall") + pw.println(" lastDraw=$lastDraw") + pw.println(" lastTimeZoneChange=$lastTimeZoneChange") pw.println(" currText=$text") pw.println(" currTimeContextDesc=$contentDescription") pw.println(" time=$time") |