private void tryRippleEnter ( ) { if ( mExitingRipplesCount >= MAX_RIPPLES ) { // This should never happen unless the user is tapping like a maniac // or there is a bug that's preventing ripples from being removed. return ; } if ( mRipple == null ) { final float x ; final float y ; if ( mHasPending ) { mHasPending = false ; x = mPendingX ; y = mPendingY ; } else { x = mHotspotBounds . exactCenterX ( ) ; y = mHotspotBounds . exactCenterY ( ) ; } final boolean isBounded = isBounded ( ) ; mRipple = new RippleForeground ( this , mHotspotBounds , x , y , isBounded ) ; } mRipple . setup ( mState . mMaxRadius , mDensity ) ; mRipple . enter ( false ) ; }
Attempts to start an enter animation for the active hotspot . Fails if there are too many animating ripples .