@Override
        public void draw(final Canvas canvas) {
            final Rect bounds = getBounds();
            if (!isVisible() || bounds.isEmpty()) {
                return;
            }

            canvas.drawCircle(bounds.centerX(), bounds.centerY(), bounds.width() / 2, mPaint);

            // Scale the checkmark.
            sMatrix.reset();
            sMatrix.setScale(mScaleFraction, mScaleFraction, sCheckMark.getWidth() / 2,
                    sCheckMark.getHeight() / 2);
            sMatrix.postTranslate(bounds.centerX() - sCheckMark.getWidth() / 2,
                    bounds.centerY() - sCheckMark.getHeight() / 2);

            // Fade the checkmark.
            final int oldAlpha = mPaint.getAlpha();
            // Interpolate the alpha.
            mPaint.setAlpha((int) (oldAlpha * mAlphaFraction));
            canvas.drawBitmap(sCheckMark, sMatrix, mPaint);
            // Restore the alpha.
            mPaint.setAlpha(oldAlpha);
        }
Must be <= 1f since the animation value is used as a percentage.
android/modules/module_common/src/main/java/github/tornaco/android/thanos/widget/checkable/CheckableFlipDrawable.java