question: @ Override protected void onMeasure ( int widthMeasureSpec , int heightMeasureSpec ) { mWidth = MeasureSpec . getSize ( widthMeasureSpec ) ; mHeight = MeasureSpec . getSize ( heightMeasureSpec ) ; int minSide = Math . min ( mWidth , mHeight ) ; mWidth = minSide ; mHeight = minSide ; mCurrentProgressPosition = calculateCurrentPositionFromCurrentSeconds ( mCurrentSeconds ) ; objectAnimatorProgress . setFloatValues ( mCurrentProgressPosition / mWidth , 1.0f ) ; objectAnimatorProgress . setDuration ( ( mMaxSeconds - mCurrentSeconds ) * 1000 ) ; if ( mBitmapCoverImage != null ) scaleCoverBitmap ( mBitmapCoverImage ) ; rectFEmptyProgress . set ( 0 , mHeight - mProgressHeight , mWidth , mHeight ) ; mDrawableBottomShadow . setBounds ( 0 , ( 10 * mHeight ) / 12 , mWidth , mHeight ) ; if ( startRequested ) { startRequested = false ; start ( ) ; } super . onMeasure ( widthMeasureSpec , heightMeasureSpec ) ; }
target:  Calculate witdh, height and region values here