/* Ċ Ġ* ĠCopyright Ġ 2 0 2 1 ĠLite K ite ĠStartup . ĠAll Ġrights Ġreserved . Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ package Ġcom . lite k ite . system ui . widget Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . util . Attribute Set Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . constraint layout . motion . widget . Motion Layout Ċ import Ġcom . lite k ite . system ui . R Ċ Ċ /** Ċ Ġ* ĠHide N Seek Motion Layout Ġthat Ġmod ifies Ġvisibility Ġof Ġthe Ġparent Ġcontainer Ċ Ġ* Ġbased Ġon Ġthe Ġmotion Ġanimation Ċ Ġ* Ċ Ġ* Ġ@ author ĠV ign esh ĠS Ċ Ġ* Ġ@ version Ġ 1 . 0 , Ġ 1 7 / 1 2 / 2 0 2 0 Ċ Ġ* Ġ@ since Ġ 1 . 0 Ċ Ġ*/ Ċ class ĠHide N Seek Motion Layout Ġ@ Jvm Over loads Ġconstructor ( ĊĠĠĠ Ġcontext : ĠContext , ĊĠĠĠ Ġattrs : ĠAttributeSet ? Ġ= Ġnull , ĊĠĠĠ Ġdef Style Attr : ĠInt Ġ= Ġ 0 Ċ ) Ġ: ĠMotion Layout ( context , Ġattrs , Ġdef Style Attr ) Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġattached : ĠBoolean Ġ= Ġfalse ĊĊĠĠĠ Ġprivate Ġval Ġtransition Listener Ġ= Ġobject Ġ: ĠTransition Listener Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Transition Started ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmotion Layout : ĠMotion Layout ?, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstart Id : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġend Id : ĠInt ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( parent Ġas ? ĠViewGroup )?. visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Transition Change ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmotion Layout : ĠMotion Layout ?, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstart Id : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġend Id : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprogress : ĠFloat ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Transition Completed ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmotion Layout : ĠMotion Layout ?, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent Id : ĠInt ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( current Id Ġ== ĠR . id . start ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( parent Ġas ? ĠViewGroup )?. visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Transition Trigger ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmotion Layout : ĠMotion Layout ?, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstart Id : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġend Id : ĠBoolean , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprogress : ĠFloat ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Attached To Window () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Attached To Window () ĊĠĠĠĠĠĠĠ Ġif Ġ(! attached ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġattached Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Transition Listener ( transition Listener ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Detached From Window () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Detached From Window () ĊĠĠĠĠĠĠĠ Ġif Ġ( attached ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġremove Transition Listener ( transition Listener ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġattached Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ