package Ġcom . gr inde wal d 1 9 0 0 . sh ere ats . view . custom Ċ Ċ import Ġandroid . animation . Animator Ċ import Ġandroid . app . Activity Options Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . graphics .* Ċ import Ġandroid . util . Attribute Set Ċ import Ġandroid . util . Log Ċ import Ġandroid . view . Motion Event Ċ import Ġcom . gr inde wal d 1 9 0 0 . sh ere ats . R Ċ import Ġcom . gr inde wal d 1 9 0 0 . sh ere ats . utils . Constant Util Ċ import Ġcom . gr inde wal d 1 9 0 0 . sh ere ats . utils . Image Util Ċ import Ġcom . gr inde wal d 1 9 0 0 . sh ere ats . view . activity . MainActivity Ċ import Ġcom . gr inde wal d 1 9 0 0 . sh ere ats . view . activity . Search Activity Ċ import Ġcom . gr inde wal d 1 9 0 0 . sh ere ats . view . activity . Search Friend Activity Ċ import Ġkotlin . math . abs Ċ Ċ /** Ċ Ġ* ĠA Ġdraggable Ġfloating Ġaction Ġbutton Ċ Ġ*/ Ċ class ĠRound Fab Ġ: Ġandroidx . appcompat . widget . AppCompat ImageView { ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠMODE _ S QUARE Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠMODE _ CIR CLE Ġ= Ġ 1 ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠMODE _ ROUND _ COR NER Ġ= Ġ 2 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠSet ĠF AB Ġas Ġcircle Ġby Ġdefault ĊĠĠĠ Ġprivate Ġlateinit Ġvar ĠmContext : ĠContext ĊĠĠĠ Ġprivate Ġvar Ġcurrent Mode Ġ= ĠMODE _ CIR CLE ĊĠĠĠ Ġprivate Ġvar Ġcorner Radius Ġ= Ġ 0 f ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġm Paint : ĠPaint ĊĊĠĠĠ Ġ// ĠThe Ġsize Ġof Ġscreen ĊĠĠĠ Ġprivate Ġvar Ġscreen Width Ġ= Ġ 0 ĊĠĠĠ Ġprivate Ġvar Ġscreen Height Ġ= Ġ 0 ĊĊĠĠĠ Ġ// ĠThe Ġsize Ġof ĠF ab ĊĠĠĠ Ġprivate Ġvar Ġfab Width Ġ= Ġ 0 ĊĠĠĠ Ġprivate Ġvar Ġfab Height Ġ= Ġ 0 ĊĠĠĠ Ġprivate Ġvar Ġfab Size Ġ= Ġ 0 ĊĊĠĠĠ Ġ// ĠThe Ġposition Ġwhen Ġevent Ġdown ĊĠĠĠ Ġprivate Ġvar Ġdown X Ġ= Ġ 0 f ĊĠĠĠ Ġprivate Ġvar Ġdown Y Ġ= Ġ 0 f ĊĊĠĠĠ Ġprivate Ġvar Ġdestination : ĠInt Ġ= ĠConstant Util . ACTIVITY _ SEARCH _ DIS H ĊĊĊĠĠĠ Ġconstructor ( context : ĠContext ) Ġ: Ġsuper ( context ) Ġ{ ĊĠĠĠĠĠĠĠ Ġinit View ( null , Ġ 0 , Ġcontext ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġconstructor ( context : ĠContext , Ġattrs : ĠAttributeSet ) Ġ: Ġsuper ( context , Ġattrs ) Ġ{ ĊĠĠĠĠĠĠĠ Ġinit View ( attrs , Ġ 0 , Ġcontext ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġconstructor ( context : ĠContext , Ġattrs : ĠAttributeSet , Ġdef Style : ĠInt ) Ġ: Ġsuper ( ĊĠĠĠĠĠĠĠ Ġcontext , ĊĠĠĠĠĠĠĠ Ġattrs , ĊĠĠĠĠĠĠĠ Ġdef Style ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġobtain Attributes ( context , Ġattrs , Ġdef Style ) ĊĠĠĠĠĠĠĠ Ġinit View ( attrs , Ġdef Style , Ġcontext ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠRetrieve Ġthe Ġcustom Ġattributes ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġobtain Attributes ( context : ĠContext , Ġattrs : ĠAttributeSet , Ġdef Style : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtyped Array Ġ= Ġcontext . obtain Styled Attributes ( attrs , ĠR . style able . Round Fab , Ġdef Style , Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġif Ġ( typed Array . hasValue ( R . style able . Round Fab _ fab _ type )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent Mode Ġ= Ġtyped Array . getInt ( R . style able . Round Fab _ fab _ type , ĠMODE _ CIR CLE ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( typed Array . hasValue ( R . style able . Round Fab _ fab _ corner _ radius )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcorner Radius Ġ= Ġtyped Array . get Float ( R . style able . Round Fab _ fab _ corner _ radius , Ġ 2 0 f ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġtyped Array . recycle () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit View ( attrs : ĠAttributeSet ?, Ġdef Style : ĠInt , Ġcontext : ĠContext ) Ġ{ ĊĠĠĠĠĠĠĠ ĠmContext Ġ= Ġcontext ĊĠĠĠĠĠĠĠ Ġm Paint Ġ= ĠPaint ( Paint . ANTI _ ALIAS _ FLAG ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSet Ġthe Ġwidth Ġand Ġheight Ġof Ġthe Ġview ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġon Measure ( width Measure Spec : ĠInt , Ġheight Measure Spec : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Measure ( width Measure Spec , Ġheight Measure Spec ) ĊĠĠĠĠĠĠĠ Ġ// Ġrequested Ġwidth Ġand Ġmode ĊĠĠĠĠĠĠĠ Ġif Ġ( current Mode Ġ== ĠMODE _ CIR CLE ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsize Ġ= Ġmeasured Height . coerce At Most ( meas ured Width ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Measured Dimension ( size , Ġsize ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġscreen Width Ġ= ĠImage Util . get Screen Width ( mContext ) ĊĠĠĠĠĠĠĠ Ġscreen Height Ġ= ĠImage Util . get Screen Height ( context ) ĊĠĠĠĠĠĠĠ Ġfab Width Ġ= Ġmeasured Width ĊĠĠĠĠĠĠĠ Ġfab Height Ġ= Ġmeasured Height ĊĠĠĠĠĠĠĠ Ġif Ġ( fab Height Ġ== Ġfab Width ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfab Size Ġ= Ġfab Width / 2 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠDe al Ġwith Ġdifferent Ġmotion Ġevent ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġon Touch Event ( event : ĠMotion Event ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( event Ġ== Ġnull ) Ġreturn Ġtrue ĊĊĠĠĠĠĠĠĠ Ġwhen Ġ( event . action ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMotion Event . ACTION _ DOWN Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdown X Ġ= Ġevent . raw X ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdown Y Ġ= Ġevent . raw Y ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Constant Util . DEBUG _ MODE ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d (" Log Round Fab ", Ġ" ACTION _ DOWN ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d (" Log Round Fab ", Ġ" x Ġ${ event . raw X . toString () }") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d (" Log Round Fab ", Ġ" y Ġ${ event . raw Y . toString () }") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMotion Event . ACTION _ UP Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif ( Constant Util . DEBUG _ MODE ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d (" Log Round Fab ", Ġ" ACTION _ UP ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d (" Log Round Fab ", Ġ" x Ġ${ event . raw X . toString () }") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d (" Log Round Fab ", Ġ" y Ġ${ event . raw Y . toString () }") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠMove Ġthe ĠF AB Ġto Ġthe Ġproper Ġposition , Ġaccording Ġto Ġthe ĠMode ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġposition Ġ= ĠImage Util . getPosition By Mode ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevent . raw X . toInt (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevent . raw Y . toInt (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfab Width , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfab Height , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠConstant Util . MODE _ EDGE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠmContext ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . layout ( position [ 0 ], Ġposition [ 1 ], Ġposition [ 2 ], Ġposition [ 3 ]) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif ( abs ( down X Ġ- Ġevent . raw X ) Ġ< Ġ 1 0 Ġ&& Ġabs ( down Y Ġ- Ġevent . raw Y ) Ġ< Ġ 1 0 ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdo Click () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMotion Event . ACTION _ MOVE Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġleft : ĠInt ; Ġvar Ġright : ĠInt ; Ġvar Ġtop : ĠInt ; Ġvar Ġbottom : ĠInt ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġleft Ġ= Ġevent . raw X . toInt () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġright Ġ= Ġleft Ġ+ Ġfab Width ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtop Ġ= Ġevent . raw Y . toInt () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbottom Ġ= Ġtop Ġ+ Ġfab Height ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠAvoid ĠF AB Ġout Ġof Ġthe Ġscreen Ġarea ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( left Ġ< Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġleft Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġright Ġ= Ġleft Ġ+ Ġfab Width ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( right Ġ> Ġscreen Width Ġ+ Ġfab Width ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġright Ġ= Ġscreen Width ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġleft Ġ= Ġright Ġ- Ġfab Width ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( top Ġ< Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtop Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbottom Ġ= Ġtop Ġ+ Ġfab Height ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( bottom Ġ> Ġscreen Height Ġ+ Ġfab Height ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbottom Ġ= Ġscreen Height ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtop Ġ= Ġbottom Ġ- Ġfab Height ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠMove Ġthe Ġview Ġa Ġlittle Ġbit Ġto Ġtop Ġleft , Ġwhich Ġmeans Ġthe Ġtouch ing Ġpoint Ġis Ġat Ġthe Ġcenter Ġof ĠF AB ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . layout ( left - fab Size Ġ, Ġtop - fab Height , Ġright - fab Size , Ġbottom - fab Height ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Draw ( canvas : ĠCanvas ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( drawable . intrinsic Width Ġ== Ġ 0 Ġ|| Ġdrawable . intrinsic Height Ġ== Ġ 0 Ġ|| Ġdrawable Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( image Matrix Ġ== Ġnull Ġ&& Ġpadding Top Ġ== Ġ 0 Ġ&& Ġpadding Left Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdrawable . draw ( canvas ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsave Count Ġ= Ġcanvas . save Count ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcanvas . save () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcanvas . translate ( padding Left . toFloat (), Ġpadding Top . toFloat ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( current Mode Ġ== ĠMODE _ CIR CLE ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbitmap Ġ= ĠImage Util . drawable To Bitmap ( drawable , Ġimage Matrix , Ġwidth , Ġheight ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Paint . shader Ġ= ĠBitmap Shader ( bitmap , ĠShader . Tile Mode . CLAMP , ĠShader . Tile Mode . CLAMP ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcanvas . draw Circle ( width Ġ/ Ġ 2 f , Ġheight Ġ/ Ġ 2 f , Ġwidth Ġ/ Ġ 2 f , Ġm Paint ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( current Mode Ġ== ĠMODE _ ROUND _ COR NER ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbitmap Ġ= ĠImage Util . drawable To Bitmap ( drawable , Ġimage Matrix , Ġwidth , Ġheight ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Paint . shader Ġ= ĠBitmap Shader ( bitmap , ĠShader . Tile Mode . CLAMP , ĠShader . Tile Mode . CLAMP ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcanvas . draw Round Rect ( Rect F ( padding Left . toFloat (), Ġpadding Top . toFloat (), Ġ( width Ġ- Ġpadding Right ). toFloat (), Ġ( height Ġ- Ġpadding Bottom ). toFloat ()), Ġcorner Radius , Ġcorner Radius , Ġm Paint ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( image Matrix Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcanvas . concat ( image Matrix ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdrawable . draw ( canvas ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcanvas . restore To Count ( save Count ) ĊĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Destination ( dest : ĠInt ){ ĊĠĠĠĠĠĠĠ Ġdestination Ġ= Ġdest ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġdo Click (){ ĊĠĠĠĠĠĠĠ Ġval Ġanim ator Ġ= Ġthis . animate (). alpha ( 0 f ). scale X ( 0 f ). scale Y ( 0 f ). set Duration ( 3 0 0 ) ĊĠĠĠĠĠĠĠ Ġanim ator . set Listener ( object : ĠAn imator . Animator Listener { ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Animation End ( p 0 : ĠAn imator ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent : ĠIntent Ġ= Ġwhen ( destination ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠConstant Util . ACTIVITY _ SEARCH _ DIS H Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIntent ( mContext , ĠSearch Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠConstant Util . ACTIVITY _ SEARCH _ FR I END Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIntent ( mContext , ĠSearch Friend Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIntent ( mContext , ĠSearch Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠmContext . startActivity ( intent , ĠActivity Options . make Scene Transition Animation ( mContext Ġas ĠMainActivity ). to Bundle ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġanim ator . set Listener ( null ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġanim ator . alpha ( 1 f ). scale X ( 1 f ). scale Y ( 1 f ). set Duration ( 1 0 0 ). start () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Animation Start ( p 0 : ĠAn imator ?) Ġ{} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Animation Cancel ( p 0 : ĠAn imator ?) Ġ{} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Animation Repeat ( p 0 : ĠAn imator ?) Ġ{} ĊĊĠĠĠĠĠĠĠ Ġ}). start () ĊĠĠĠ Ġ} Ċ Ċ }