package Ġio . de ux se pt . d nd ice . Utils Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . support . v 4 . app . Fragment Ċ import Ġandroid . content . Context Ċ import Ġandroid . util . Display Metrics Ċ import Ġandroid . util . Log Ċ import Ġandroid . view . View Ċ import Ġandroid . view . View Animation Utils Ċ Ċ /** Ċ Ġ* ĠCreated Ġby ĠL uo Ċ Ġ* Ġ 0 9 / 0 8 / 2 0 1 6 . Ċ Ġ*/ Ċ Ċ class ĠUtils () Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠDEBUG : ĠBoolean Ġ= Ġtrue ĊĊĠĠĠĠĠĠĠ Ġfun Ġlog _ i ( tag : ĠString , Ġstring : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( DEBUG ) ĠLog . i ( tag , Ġstring ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġfun Ġlog _ d ( tag : ĠString , Ġstring : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( DEBUG ) ĠLog . d ( tag , Ġstring ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġfun Ġlog _ e ( tag : ĠString , Ġstring : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( DEBUG ) ĠLog . e ( tag , Ġstring ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġcircular Re veal ( view : ĠView , Ġwidth : ĠInt , Ġheight : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( android . os . Build . VERSION . SDK _ INT Ġ>= Ġandroid . os . Build . VERSION _ CODES . LO L LI POP ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfinal Radius Ġ= ĠMath . h ypot ( width . toDouble (), Ġheight . toDouble ()). toFloat () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġanim Ġ= ĠView Animation Utils . create Circular Re veal ( view , Ġwidth , Ġheight , Ġ 0 . toFloat (), Ġfinal Radius ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġanim . start () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġconvert Dp To Pixel ( dp : ĠInt , Ġcontext : ĠContext ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresources Ġ= Ġcontext . resources ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmetrics Ġ= Ġresources . display Metrics ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpx Ġ= Ġdp Ġ* Ġ( metrics . density D pi Ġ/ ĠDisplay Metrics . D ENS ITY _ DEFAULT ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġpx ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ enum Ġclass ĠSwitch Fragment Action Ġ{ ĊĠĠĠ ĠInsert , ĊĠĠĠ ĠReplace Ċ } Ċ Ċ enum Ġclass ĠLast Roll Info Ġ{ ĊĠĠĠ ĠNormal , ĊĠĠĠ ĠCritical , ĊĠĠĠ ĠF umble , ĊĠĠĠ ĠBoth Ċ } Ċ Ċ inline Ġfun Ġ< re ified ĠT Ġ: ĠView > ĠActivity . find ( id : ĠInt ): ĠT Ġ= ĠfindViewById ( id ) Ġas ĠT Ċ inline Ġfun Ġ< T Ġ: ĠView > ĠFragment . find ( id : ĠInt ): ĠT Ġ= Ġthis . getView ()?. findViewById ( id ) Ġas ĠT