package Ġcom . play one . mobile . ui Ċ Ċ import Ġandroid . animation . Animator Ċ import Ġandroid . animation . Animator Listener Adapter Ċ import Ġandroid . animation . Argb Evaluator Ċ import Ġandroid . animation . Value Animator Ċ import Ġandroid . os . Build Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . annotation . Layout Res Ċ import Ġandroid . support . annotation . Requires Api Ċ import Ġandroid . view . View Ċ import Ġandroid . view . animation . Accel erate Interpolator Ċ import Ġandroid . view . animation . De cel erate Interpolator Ċ import Ġcom . play one . mobile . ui . ext . debug Tree Ċ import Ġcom . play one . mobile . ui . ext . plant Ċ import Ġcom . play one . mobile . ui . view . View Re veal Manager Ċ import Ġdagger . android . support . D agger AppCompatActivity Ċ Ċ abstract Ġclass ĠBase Activity : ĠD agger AppCompatActivity () Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġplant Ġ{ Ġdebug Tree () Ġ} ĊĠĠĠĠĠĠĠ ĠsetContentView ( get Layout Id ()) ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Layout Res ĊĠĠĠ Ġprotected Ġabstract Ġfun Ġget Layout Id (): ĠInt ĊĊĊĠĠĠ Ġprivate Ġfun Ġcreate Circular Re veal ( ĊĠĠĠĠĠĠĠ Ġview : ĠView , ĊĠĠĠĠĠĠĠ Ġcenter X : ĠInt , ĊĠĠĠĠĠĠĠ Ġcenter Y : ĠInt , ĊĠĠĠĠĠĠĠ Ġstart Radius : ĠFloat , ĊĠĠĠĠĠĠĠ Ġend Radius : ĠFloat ĊĠĠĠ Ġ): ĠAn imator Ġ{ ĊĊĠĠĠĠĠĠĠ Ġreturn Ġcreate Circular Re veal ( view , Ġcenter X , Ġcenter Y , Ġstart Radius , Ġend Radius , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠView . LAYER _ TYPE _ SOFTWARE ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcreate Circular Re veal ( ĊĠĠĠĠĠĠĠ Ġview : ĠView , ĊĠĠĠĠĠĠĠ Ġcenter X : ĠInt , ĊĠĠĠĠĠĠĠ Ġcenter Y : ĠInt , ĊĠĠĠĠĠĠĠ Ġstart Radius : ĠFloat , ĊĠĠĠĠĠĠĠ Ġend Radius : ĠFloat , ĊĠĠĠĠĠĠĠ Ġlayer Type : ĠInt ĊĠĠĠ Ġ): ĠAn imator Ġ{ ĊĊĠĠĠĠĠĠĠ Ġif Ġ( Build . VERSION _ CODES . LO L LI POP Ġ<= Ġandroid . os . Build . VERSION . SDK _ INT ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġcreate Circular Re veal Api 1 6 ( view , Ġcenter X , Ġcenter Y , start Radius , Ġend Radius ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġview Data Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠView Re veal Manager . Re veal Values ( view , Ġcenter X , Ġcenter Y , Ġstart Radius , Ġend Radius ) ĊĠĠĠĠĠĠĠ Ġval Ġanim ator Ġ= ĠView Re veal Manager (). create Animator ( view Data ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( layer Type Ġ!= Ġview . layer Type ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġanim ator . addListener ( View Re veal Manager . Change View Layer Type Adapter ( view Data , Ġlayer Type )) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġanim ator ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Requires Api ( Build . VERSION _ CODES . LO L LI POP ) ĊĠĠĠ Ġprivate Ġfun Ġcreate Circular Re veal Api 1 6 ( ĊĠĠĠĠĠĠĠ Ġview : ĠView , ĊĠĠĠĠĠĠĠ Ġcenter X : ĠInt , ĊĠĠĠĠĠĠĠ Ġcenter Y : ĠInt , ĊĠĠĠĠĠĠĠ Ġstart Radius : ĠFloat , ĊĠĠĠĠĠĠĠ Ġend Radius : ĠFloat ĊĠĠĠ Ġ) Ġ= Ġandroid . view . View Animation Utils . create Circular Re veal ( view , Ġcenter X , Ġcenter Y , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstart Radius , Ġend Radius ) ĊĊĠĠĠ Ġprotected Ġfun Ġanimate Re veal Show ( view Root : ĠView , Ġx : ĠInt , Ġy : ĠInt , Ġduration : ĠLong ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġradius Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMath . sqrt ( Math . pow ( x . toDouble (), Ġ 2 . 0 ) Ġ+ ĠMath . pow ( y . toDouble (), Ġ 2 . 0 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. toInt () Ġ// h ypot en use Ġto Ġtop Ġleft ĊĊĠĠĠĠĠĠĠ Ġval Ġanim Ġ= Ġcreate Circular Re veal ( view Root , Ġx , Ġy , Ġ 0 f , Ġradius . toFloat ()) ĊĠĠĠĠĠĠĠ Ġview Root . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠ Ġanim . interpol ator Ġ= ĠDec el erate Interpolator () ĊĠĠĠĠĠĠĠ Ġanim . duration Ġ= Ġduration ĊĠĠĠĠĠĠĠ Ġanim . start () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprotected Ġfun Ġanimate Re veal Hide ( view Root : ĠView , Ġx : ĠInt , Ġy : ĠInt , Ġduration : ĠLong ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġradius Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMath . sqrt ( Math . pow ( x . toDouble (), Ġ 2 . 0 ) Ġ+ ĠMath . pow ( y . toDouble (), Ġ 2 . 0 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. toInt () Ġ// h ypot en use Ġto Ġtop Ġleft ĊĊĠĠĠĠĠĠĠ Ġval Ġanim Ġ= Ġcreate Circular Re veal ( view Root , Ġx , Ġy , Ġradius . toFloat (), Ġ 0 f ) ĊĠĠĠĠĠĠĠ Ġanim . addListener ( object Ġ: ĠAn imator Listener Adapter () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Animation End ( animation : ĠAn imator ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . on Animation End ( animation ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview Root . visibility Ġ= ĠView . IN VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġanim . interpol ator Ġ= ĠDec el erate Interpolator () ĊĠĠĠĠĠĠĠ Ġanim . duration Ġ= Ġduration ĊĠĠĠĠĠĠĠ Ġanim . start () ĊĠĠĠ Ġ} Ċ }