package Ġcom . tur ast ory . android toolbox . animation Ċ Ċ import Ġandroid . view . View Ċ import Ġandroidx . core . view . is G one Ċ import Ġandroidx . core . view . isVisible Ċ import Ġat . wire cube . add itive animations . add itive _ anim ator . Add itive Animator Ċ import Ġcom . air bnb . lott ie . Lot tie Animation View Ċ import Ġcom . air bnb . lott ie . Lot tie Drawable Ċ Ċ fun ĠView . fadeIn ( ĊĠĠĠ Ġduration : ĠLong Ġ= ĠD URATION _ DEFAULT , ĊĠĠĠ Ġlazy : ĠBoolean Ġ= Ġfalse Ċ ): ĠAdd itive Animator Ġ{ ĊĠĠĠ Ġis Visible Ġ= Ġtrue ĊĠĠĠ Ġreturn ĠAdd itive Animator . animate ( this ) ĊĠĠĠĠĠĠĠ Ġ. set Duration ( duration ) ĊĠĠĠĠĠĠĠ Ġ. alpha ( 1 f ) ĊĠĠĠĠĠĠĠ Ġ. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! lazy ) Ġstart () ĊĠĠĠĠĠĠĠ Ġ} Ċ } Ċ Ċ fun ĠView . fadeOut ( ĊĠĠĠ Ġduration : ĠLong Ġ= ĠD URATION _ DEFAULT , ĊĠĠĠ Ġlazy : ĠBoolean Ġ= Ġfalse Ċ ): ĠAdd itive Animator Ġ{ ĊĠĠĠ Ġis Visible Ġ= Ġtrue ĊĠĠĠ Ġreturn ĠAdd itive Animator . animate ( this ) ĊĠĠĠĠĠĠĠ Ġ. set Duration ( duration ) ĊĠĠĠĠĠĠĠ Ġ. alpha ( 0 f ) ĊĠĠĠĠĠĠĠ Ġ. add End Action Ġ{ Ġis G one Ġ= Ġtrue Ġ} ĊĠĠĠĠĠĠĠ Ġ. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! lazy ) Ġstart () ĊĠĠĠĠĠĠĠ Ġ} Ċ } Ċ Ċ fun ĠView . fade ( ĊĠĠĠ Ġdelay : ĠLong Ġ= ĠVIS IBLE _ DELAY , ĊĠĠĠ Ġlazy : ĠBoolean Ġ= Ġfalse Ċ ): ĠAdd itive Animator Ġ{ ĊĠĠĠ Ġis Visible Ġ= Ġtrue ĊĠĠĠ Ġalpha Ġ= Ġ 0 f ĊĠĠĠ Ġreturn ĠAdd itive Animator . animate ( this ) ĊĠĠĠĠĠĠĠ Ġ. alpha ( 1 f ) ĊĠĠĠĠĠĠĠ Ġ. then With Delay ( delay ) ĊĠĠĠĠĠĠĠ Ġ. alpha ( 0 f ) ĊĠĠĠĠĠĠĠ Ġ. add End Action Ġ{ Ġis G one Ġ= Ġtrue Ġ} ĊĠĠĠĠĠĠĠ Ġ. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! lazy ) Ġstart () ĊĠĠĠĠĠĠĠ Ġ} Ċ } Ċ Ċ fun ĠView . fade With Fade Vis ib l ity ( ĊĠĠĠ Ġdelay : ĠLong Ġ= ĠVIS IBLE _ DELAY , ĊĠĠĠ Ġlazy : ĠBoolean Ġ= Ġfalse Ċ ): ĠAdd itive Animator Ġ{ ĊĠĠĠ Ġreturn ĠAdd itive Animator . animate ( this ) ĊĠĠĠĠĠĠĠ Ġ. fade Visibility ( View . VISIBLE ) ĊĠĠĠĠĠĠĠ Ġ. then With Delay ( delay ) ĊĠĠĠĠĠĠĠ Ġ. fade Visibility ( View . GONE ) ĊĠĠĠĠĠĠĠ Ġ. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! lazy ) Ġstart () ĊĠĠĠĠĠĠĠ Ġ} Ċ } Ċ Ċ fun ĠView . fade With ( ĊĠĠĠ Ġlo tt ie : ĠL ot tie Animation View , ĊĠĠĠ Ġminimum Delay : ĠLong Ġ= ĠVIS IBLE _ DELAY , ĊĠĠĠ Ġlazy : ĠBoolean Ġ= Ġfalse Ċ ): ĠAdd itive Animator Ġ{ ĊĠĠĠ Ġif Ġ( lott ie . repeat Count Ġ== ĠL ot tie Drawable . INF IN ITE ) ĊĠĠĠĠĠĠĠ Ġlo tt ie . repeat Count Ġ= Ġ 0 ĊĊĠĠĠ Ġval Ġdelay Ġ= ĠMath . max ( lott ie . duration , Ġminimum Delay ) ĊĊĠĠĠ Ġis Visible Ġ= Ġtrue ĊĠĠĠ Ġalpha Ġ= Ġ 0 f ĊĠĠĠ Ġreturn ĠAdd itive Animator . animate ( this ) ĊĠĠĠĠĠĠĠ Ġ. add Start Action Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlo tt ie . play Animation () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ. alpha ( 1 f ) ĊĠĠĠĠĠĠĠ Ġ. then With Delay ( delay ) ĊĠĠĠĠĠĠĠ Ġ. alpha ( 0 f ) ĊĠĠĠĠĠĠĠ Ġ. add End Action Ġ{ Ġis G one Ġ= Ġtrue Ġ} ĊĠĠĠĠĠĠĠ Ġ. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! lazy ) Ġstart () ĊĠĠĠĠĠĠĠ Ġ} Ċ }