package Ġcom . ven k ates h . flip view . flip view Ċ Ċ import Ġandroid . graphics . Canvas Ċ Ċ /** Ċ Ġ* ĠCreated Ġby ĠV enk ates h Ġon Ġ 0 7 / 0 6 / 1 8 . Ċ Ġ*/ Ċ class ĠRub ber Band Over Flip per Ġ: ĠOver Flip per Ġ{ ĊĊĠĠĠ Ġoverride Ġvar Ġtotal Over Flip : ĠFloat Ġ= Ġ 0 . toFloat () ĊĠĠĠĠĠĠĠ Ġprivate Ġset ĊĠĠĠ Ġprivate Ġvar ĠmCurrent Over Flip : ĠFloat Ġ= Ġ 0 . toFloat () ĊĊĠĠĠ Ġoverride Ġfun Ġcalculate ( flip Distance : ĠFloat , Ġmin Flip Distance : ĠFloat , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmax Flip Distance : ĠFloat ): ĠFloat Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġdelta Over Flip : ĠFloat ĊĠĠĠĠĠĠĠ Ġif Ġ( flip Distance Ġ< Ġmin Flip Distance ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdelta Over Flip Ġ= Ġflip Distance Ġ- Ġmin Flip Distance Ġ- ĠmCurrent Over Flip ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdelta Over Flip Ġ= Ġflip Distance Ġ- Ġmax Flip Distance Ġ- ĠmCurrent Over Flip ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġtotal Over Flip Ġ+= Ġdelta Over Flip ĊĊĠĠĠĠĠĠĠ Ġval Ġsign Ġ= ĠMath . sign um ( total Over Flip ) ĊĊĠĠĠĠĠĠĠ ĠmCurrent Over Flip Ġ= ĠMath . pow ( Math . abs ( total Over Flip ). toDouble (), ĠEXP ON ENTIAL _ DECRE ES . toDouble ()). toFloat () Ġ* Ġsign ĊĊĊĠĠĠĠĠĠĠ Ġif Ġ( m Current Over Flip Ġ< Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠmCurrent Over Flip Ġ= ĠMath . max (- MAX _ OVER _ FLI P _ DISTANCE , ĠmCurrent Over Flip ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠmCurrent Over Flip Ġ= ĠMath . min ( MAX _ OVER _ FLI P _ DISTANCE , ĠmCurrent Over Flip ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn ĠmCurrent Over Flip Ġ+ Ġif Ġ( m Current Over Flip Ġ< Ġ 0 ) Ġmin Flip Distance Ġelse Ġmax Flip Distance ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdraw ( c : ĠCanvas ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġover Flip Ended () Ġ{ ĊĠĠĠĠĠĠĠ Ġtotal Over Flip Ġ= Ġ 0 f ĊĠĠĠĠĠĠĠ ĠmCurrent Over Flip Ġ= Ġ 0 f ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠMAX _ OVER _ FLI P _ DISTANCE Ġ= Ġ 7 0 f ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠEXP ON ENTIAL _ DECRE ES Ġ= Ġ 0 . 8 5 f ĊĠĠĠ Ġ} Ċ Ċ } Ċ