blob: 7a3006c1e31079f870da87548ef77313534af326 [file] [log] [blame]
package androidx.metrics.performance.test
import android.content.Context
import android.graphics.Canvas
import android.os.Build
import android.util.AttributeSet
import android.view.View
import androidx.annotation.RequiresApi
class DelayedView(context: Context?, attrs: AttributeSet?) :
View(context, attrs) {
var delayMs: Long = 0
var repetitions: Int = 0
@RequiresApi(Build.VERSION_CODES.JELLY_BEAN)
override fun onDraw(canvas: Canvas?) {
if (repetitions > 0) {
repetitions--
}
if (delayMs > 0) {
try {
Thread.sleep(delayMs)
} catch (e: Exception) {
}
}
val randomColor: Int = 0xff000000.toInt() or
(((Math.random() * 127) + 128).toInt() shl 16) or
(((Math.random() * 127) + 128).toInt() shl 8) or
((Math.random() * 127) + 128).toInt()
canvas!!.drawColor(randomColor)
if (repetitions > 0) {
postInvalidateOnAnimation()
}
}
}