package Ġme . ros uh . easy watermark . ui . widget . utils Ċ Ċ import Ġandroid . view . View Ċ import Ġandroidx . dynamic animation . animation . Spring Animation Ċ Ċ interface ĠView Animation Listener Ġ{ ĊĠĠĠ Ġfun Ġapply Before Start ( view : ĠView , Ġanimation : ĠSpring Animation ?) ĊĊĠĠĠ Ġfun Ġapply After End ( view : ĠView , Ġanimation : ĠSpring Animation ?) Ċ } Ċ Ċ private Ġtype alias ĠApply On Start Ġ= Ġ( view : ĠView , Ġanimation : ĠSpring Animation ?) Ġ-> ĠUnit Ċ Ċ private Ġtype alias ĠApply On End Ġ= Ġ( view : ĠView , Ġanimation : ĠSpring Animation ?) Ġ-> ĠUnit Ċ Ċ class ĠView Animation Listener Builder Ġ: ĠView Animation Listener Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġapply Before Start : ĠApply On Start ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġapply After End : ĠApply On End ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun Ġapply Before Start ( view : ĠView , Ġanimation : ĠSpring Animation ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġapply Before Start ?. invoke ( view , Ġanimation ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġapply After End ( view : ĠView , Ġanimation : ĠSpring Animation ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġapply After End ?. invoke ( view , Ġanimation ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġapply Before Start ( apply On Start : ĠApply On Start ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . apply Before Start Ġ= Ġapply On Start ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġapply After End ( apply On End : ĠApply On End ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . apply After End Ġ= Ġapply On End ĊĠĠĠ Ġ} Ċ } Ċ