package Ġcom . mobile dev pro . app . ui . splash Ċ Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Handler Ċ import Ġandroid . os . Looper Ċ import Ġandroid . view . View Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġcom . mobile dev pro . app . Build Config Ċ import Ġcom . mobile dev pro . app . R Ċ import Ġcom . mobile dev pro . app . ui . main screen . view . MainActivity Ċ import Ġcom . mobile dev pro . common . ui . base . Base Activity Ċ import Ġcom . mobile dev pro . common . ui . base . Activity Settings Ċ import Ġkotlinx . android . synt hetic . main . activity _ splash .* Ċ import Ġjava . lang . ref . Weak Reference ĊĊ Ċ class ĠSpl ash Activity Ġ: ĠBase Activity ( ĊĠĠĠ Ġlayout Id Ġ= ĠR . layout . activity _ splash , ĊĠĠĠ ĠActivity Settings () Ċ ) Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠSTART _ MAIN _ SCREEN Ġ= Ġ 1 ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠSPL ASH _ DISPLAY _ TIME Ġ= Ġ 1 5 0 0 L Ġ// in Ġmilliseconds ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġhandler Open Next Screen Ġ= ĠHandler ( Looper . get Main Looper ()) ĊĊĊĠĠĠ Ġoverride Ġfun Ġinit Toolbar () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// no Ġneed Ġin Ġthis Ġactivity ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinit Views ( layout View : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtv _ app _ version ?. text Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠString . format ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresources . getString ( R . string . app _ version ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBuild Config . VERSION _ NAME ) ĊĊĠĠĠĠĠĠĠ Ġ// start Ġlogin Ġor Ġmain Ġscreen Ġ( depends Ġon Ġthe Ġapp Ġlogic ) ĊĠĠĠĠĠĠĠ Ġhandler Open Next Screen . post Delayed ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSpl ash Runnable ( this , ĠSTART _ MAIN _ SCREEN ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSPL ASH _ DISPLAY _ TIME ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġclass ĠSpl ash Runnable ( activity : ĠAppCompatActivity , Ġval Ġstart Screen Code : ĠInt ) Ġ: ĠRunnable Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġactivity Reference : ĠWeak Reference < AppCompatActivity ?> Ġ= ĠWeak Reference ( activity ) ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġrun () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( activity Reference . get () Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġactivity Ġ= Ġactivity Reference . get () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent : ĠIntent Ġ= Ġif Ġ( start Screen Code Ġ== ĠSTART _ MAIN _ SCREEN ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIntent ( activity , ĠMainActivity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// other Ġactivity ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠIntent ( activity , ĠLogin Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIntent ( activity , ĠMainActivity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġactivity !!. startActivity ( intent ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġactivity . finish () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊ Ċ } Ċ