package Ġcom . int uit . tr uffle shuffle Ċ Ċ import Ġandroid . animation . Animator Ċ import Ġandroid . animation . Animator Listener Adapter Ċ Ċ /** Ċ Ġ* Ġ ĠEnsure Ġthe Ġanimation Ġis Ġoccur ring Ġonly Ġonce Ġafter Ġthe Ġuser Ġselects Ġa Ġcard Ċ Ġ* Ġ Ġby Ġkeeping Ġtrack Ġof Ġif Ġthe Ġanimation Ġis Ġin Ġprocess Ċ Ġ*/ Ċ class ĠAnimation De bounc er Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġis Anim ating Ġ= Ġfalse ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠWhether Ġan Ġanimation Ġis Ġcurrently Ġin Ġprocess ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġis Not Anim ating () Ġ= Ġ! is Anim ating ĊĊĠĠĠ Ġprivate Ġval Ġend Animation Listener Ġ= Ġobject Ġ: ĠAn imator Listener Adapter () Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Animation End ( animation : ĠAn imator ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . on Animation End ( animation ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Anim ating Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠAttempt Ġto Ġstart Ġan Ġanimation Ġbut Ġonly Ġif Ġthere Ġis Ġnot Ġanother Ġanimation Ġin Ġprocess ĊĠĠĠĠ Ġ* Ġ@ param Ġanim ator Creator Ġlambda Ġfunction Ġof Ġthe Ġanimation Ġto Ġstart ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġanimate ( anim ator Creator : Ġ() Ġ-> ĠAn imator ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( is Anim ating ) Ġreturn ĊĊĠĠĠĠĠĠĠ Ġis Anim ating Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġval Ġanim ator Ġ= Ġanim ator Creator () ĊĠĠĠĠĠĠĠ Ġanim ator . addListener ( end Animation Listener ) ĊĠĠĠĠĠĠĠ Ġanim ator . start () ĊĠĠĠ Ġ} Ċ Ċ }