package Ġcom . kotlin . architecture . ui . splash Ċ Ċ import Ġandroid . os . Handler Ċ import Ġandroid . view . animation . Animation Ċ import Ġandroid . view . animation . Animation Utils Ċ import Ġcom . kotlin . architecture . R Ċ import Ġcom . kotlin . architecture . base . Base ViewModel Ċ import Ġcom . kotlin . architecture . base . Data Binding Base Activity Ċ import Ġcom . kotlin . architecture . databinding . Activity Splash Binding Ċ import Ġcom . kotlin . architecture . ui . MainActivity Ċ import Ġcom . kotlin . architecture . utils . start My Activity Ċ Ċ class ĠSpl ash Activity Ġ: ĠData Binding Base Activity < Activity Splash Binding , ĠBase ViewModel >( Base ViewModel :: class . java ) Ġ, ĠAnimation . Animation Listener Ġ{ ĊĊĠĠĠ Ġprivate Ġfun Ġperform Navigation () Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . start My Activity ( MainActivity :: class . java ) ĊĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Layout Res (): ĠInt Ġ{ ĊĠĠĠĠĠ Ġreturn ĠR . layout . activity _ splash ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinitialize Components () Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding . lifecycle Owner Ġ= Ġthis ĊĊĠĠĠĠĠĠĠ Ġval Ġload Animation Ġ= ĠAnimation Utils . load Animation ( application Context , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . anim . transition _ from _ top ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ// Ġset Ġanimation Ġlistener ĊĠĠĠĠĠĠĠ Ġload Animation . set Animation Listener ( this ) ĊĠĠĠĠĠĠĠ Ġ// Ġstart Ġthe Ġanimation ĊĠĠĠĠĠĠĠ Ġbinding . image Logo . start Animation ( load Animation ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Animation Start ( animation : ĠAnimation ) Ġ{} ĊĊĠĠĠ Ġoverride Ġfun Ġon Animation End ( animation : ĠAnimation ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġdelay Millis : ĠLong Ġ= Ġ 2 0 0 0 ĊĠĠĠĠĠĠĠ Ġ/* ĊĠĠĠĠĠĠĠĠ Ġ* ĠHandler Ġis Ġused Ġto Ġset Ġsome Ġdelay Ġon Ġthis Ġscreen ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ ĠHandler (). post Delayed ({ Ġperform Navigation () Ġ}, delay Millis ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Animation Repeat ( animation : ĠAnimation ) Ġ{} Ċ Ċ }