package Ġcom . ke v ind om . s ke ight . wrapper Ċ Ċ import Ġandroid . graphics . drawable . Drawable Ċ import Ġandroid . support . graphics . drawable . Anim atable 2 Compat Ċ Ċ class ĠAnimation Callback Wrapper Ġ: ĠAnim atable 2 Compat . Animation Callback () Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġcallback Start : Ġ(( Drawable ) Ġ-> ĠUnit )? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġcallback End : Ġ(( Drawable ) Ġ-> ĠUnit )? Ġ= Ġnull ĊĊĠĠĠ Ġfun Ġon End ( callback End : Ġ(( Drawable ) Ġ-> ĠUnit )? Ġ= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . callback End Ġ= Ġcallback End ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Animation End ( drawable : ĠDrawable ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Animation End ( drawable ) ĊĠĠĠĠĠĠĠ Ġcallback End ?. invoke ( drawable ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun ĠonStart ( callback Start : Ġ(( Drawable ) Ġ-> ĠUnit )? Ġ= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . callback Start Ġ= Ġcallback Start ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Animation Start ( drawable : ĠDrawable ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Animation Start ( drawable ) ĊĠĠĠĠĠĠĠ Ġcallback Start ?. invoke ( drawable ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ inline Ġfun Ġobserve ( wrap : ĠAnimation Callback Wrapper . () Ġ-> ĠUnit ): ĠAnimation Callback Wrapper Ġ{ ĊĠĠĠ Ġval Ġwrapper Ġ= ĠAnimation Callback Wrapper () ĊĠĠĠ Ġwrapper . wrap () ĊĠĠĠ Ġreturn Ġwrapper Ċ }