package Ġru . ne kit . android . utils Ċ Ċ import Ġandroid . animation . Animator Ċ import Ġandroid . animation . Time Interpolator Ċ import Ġandroid . content . Context Ċ import Ġandroid . os . Build Ċ import Ġandroid . view . View Ċ import Ġandroid . view . animation . Accel erate De cel erate Interpolator Ċ Ċ import Ġio . code tail . animation . View Animation Utils Ċ Ċ object ĠRe veal Animator Ġ{ ĊĊĠĠĠ Ġfun Ġget Re veal Animator ( context : ĠContext , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview : ĠView , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġposition : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtime Interpolator : ĠTime Interpolator ?, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġduration : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreverse : ĠBoolean ): ĠAn imator Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġanim ator : ĠAn imator ĊĠĠĠĠĠĠĠ Ġval Ġreveal Point Ġ= ĠRe veal Point . get Re veal Point ( context , Ġposition ) ĊĠĠĠĠĠĠĠ Ġif Ġ( Build . VERSION . SDK _ INT Ġ< ĠBuild . VERSION _ CODES . LO L LI POP ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġanim ator Ġ= ĠView Animation Utils . create Circular Re veal ( view , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreveal Point . x , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreveal Point . y , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( reverse ) Ġreveal Point . radius Ġelse Ġ 0 F , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( reverse ) Ġ 0 F Ġelse Ġreveal Point . radius ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġanim ator Ġ= Ġandroid . view . View Animation Utils . create Circular Re veal ( view , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreveal Point . x , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreveal Point . y , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( reverse ) Ġreveal Point . radius Ġelse Ġ 0 F , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( reverse ) Ġ 0 F Ġelse Ġreveal Point . radius ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġanim ator . interpol ator Ġ= Ġtime Interpolator Ġ?: ĠAccel erate De cel erate Interpolator () ĊĠĠĠĠĠĠĠ Ġanim ator . duration Ġ= Ġduration . to Long () ĊĠĠĠĠĠĠĠ Ġreturn Ġanim ator ĊĠĠĠ Ġ} Ċ } Ċ