package Ġcom . example . android . chess clock Ċ Ċ import Ġandroid . app . AlertDialog Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . content . SharedPreferences Ċ import Ġandroid . media . MediaPlayer Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . os . Count Down Timer Ċ import Ġandroid . support . v 7 . app . AppCompatActivity Ċ import Ġandroid . support . v 7 . app . AppCompat Delegate Ċ import Ġandroid . util . Log Ċ import Ġandroid . view . View Ċ import Ġandroid . view . WindowManager Ċ import Ġkotlinx . android . synt hetic . main . activity _ main .* ĊĊ Ċ class ĠMainActivity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġenum Ġclass ĠClock States Ġ{ ĠC LOCK _ START , ĠC LOCK _ END Ġ} ĊĊĠĠĠ Ġvar Ġclock State : ĠClock States ? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġcount Down Timer Bot : ĠCount Down Timer ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġcount Down Timer Top : ĠCount Down Timer ĊĠĠĠ Ġvar Ġt is Ġ= Ġ 5 0 0 ĊĠĠĠ Ġvar Ġtime InSeconds Bot Ġ= Ġ 0 ĊĠĠĠ Ġvar Ġtime InSeconds Top Ġ= Ġ 0 ĊĊĠĠĠ Ġprivate Ġvar Ġis Night Mode On : ĠBoolean Ġ= Ġfalse ĊĠĠĠ Ġprivate Ġvar Ġself Start : ĠBoolean Ġ= Ġfalse ĊĠĠĠ Ġprivate Ġvar Ġgame Paused : ĠBoolean Ġ= Ġfalse ĊĊĠĠĠ Ġprivate Ġvar Ġmedia Player : ĠMedia Player ? Ġ= Ġnull ĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġset Theme ( R . style . App Theme ) ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġwindow . set Flags ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWindow Manager . LayoutParams . FLAG _ FULL SCREEN , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWindow Manager . LayoutParams . FLAG _ FULL SCREEN ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ main ) ĊĠĠĠĠĠĠĠ Ġval Ġshared Preferences Ġ= Ġget SharedPreferences (" shared Prefs ", ĠContext . MODE _ PRIVATE ) ĊĠĠĠĠĠĠĠ Ġval Ġshared Prefs Edit : ĠSharedPreferences . Editor Ġ= Ġshared Preferences . edit () ĊĠĠĠĠĠĠĠ Ġtime InSeconds Bot Ġ= Ġshared Preferences . getInt (" BOT _ TIME ", 9 0 0 ) ĊĠĠĠĠĠĠĠ Ġtime InSeconds Top Ġ= Ġshared Preferences . getInt (" TOP _ TIME ", 9 0 0 ) ĊĠĠĠĠĠĠĠ Ġtop _ clock . text Ġ= ĠClock ( time InSeconds Top ). update Text () ĊĠĠĠĠĠĠĠ Ġbot _ clock . text Ġ= ĠClock ( time InSeconds Bot ). update Text () ĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠSet Ġup Ġnew Ġsession ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġload Data () ĊĠĠĠĠĠĠĠ Ġpause _ button . visibility Ġ= ĠView . GONE ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠButton Ġlisteners ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġpause _ button . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpause State () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġrestart _ button . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrestart Game () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġsettings _ button . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġopen Settings () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠClock Ġlisteners Ġchecking Ġfor Ġ' self Start ' Ġsetting Ġand Ġstarting Ġcase Logic ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġtop _ sq . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( self Start Ġ&& Ġclock State Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtop Case Logic () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbot Case Logic () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbot _ sq . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( self Start Ġ&& Ġclock State Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbot Case Logic () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtop Case Logic () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSwitch Ġcases Ġon Ġwhat Ġto Ġdo Ġon Ġtop Ġ/ Ġbot Ġclick , ĊĠĠĠĠ Ġ* Ġ Ġ- Ġstart Timer Ġtop / bot ĊĠĠĠĠ Ġ* Ġ Ġ- Ġreset Timers Ġon Ġgame Ġend ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġbot Case Logic () Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( clock State ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull Ġ-> Ġstart Timer Bot ( time InSeconds Bot ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠClock States . CLOCK _ START Ġ-> Ġstart Timer Bot ( time InSeconds Bot ) Ġ// add Ġincre ments Ġhier Ġn og ĊĠĠĠĠĠĠĠĠĠĠĠ ĠClock States . CLOCK _ END Ġ-> Ġreset Timers () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġtop Case Logic () Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( clock State ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull Ġ-> Ġstart Timer Top ( time InSeconds Top ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠClock States . CLOCK _ START Ġ-> Ġstart Timer Top ( time InSeconds Top ) Ġ// add Ġincre ments Ġhier Ġn og ĊĠĠĠĠĠĠĠĠĠĠĠ ĠClock States . CLOCK _ END Ġ-> Ġreset Timers () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSet ĠTheme Ġsettings Ġon Ġres uming ĠMainActivity ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġon Resume () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Resume () ĊĠĠĠĠĠĠĠ Ġset Color Clock sTo Neutral () ĊĠĠĠĠĠĠĠ Ġdash Board . set BackgroundColor ( getColor ( R . color . color Dashboard )) ĊĊĠĠĠĠĠĠĠ Ġval Ġshared Preferences Ġ= Ġget SharedPreferences (" shared Prefs ", ĠContext . MODE _ PRIVATE ) ĊĊĠĠĠĠĠĠĠ Ġself Start Ġ= Ġshared Preferences . getBoolean (" SELF _ START ", Ġfalse ) ĊĊĠĠĠĠĠĠĠ Ġwhen Ġ( shared Preferences . getString (" T URN _ SOUND ", Ġnull )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Select Ġa Ġsound ..." Ġ-> Ġmedia Player ?. reset () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Clear Ġth ro at " Ġ-> Ġmedia Player Ġ= ĠMedia Player . create ( this , ĠR . raw . clear _ th ro at ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Me chan ical Ġclick " Ġ-> Ġmedia Player Ġ= ĠMedia Player . create ( this , ĠR . raw . me chan ical _ switch ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠShow Ġdialog Ġto Ġrestart Ġgame ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġrestart Game () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( clock State Ġ== ĠClock States . CLOCK _ START Ġ|| Ġgame Paused ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgame Paused Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdialog Ġ= ĠAlertDialog . Builder ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setMessage (" Restart ?") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Positive Button ( getString ( R . string . yes Str )) Ġ{ Ġ_, Ġ_ Ġ-> Ġ// Ġdialog , Ġwhich Button Ġare Ġnever Ġused ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreset Timers () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Color Clock sTo Neutral () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Negative Button ( getString ( R . string . no Str )) Ġ{ Ġ_, Ġ_ Ġ-> Ġ// Ġdialog , Ġwhich Button Ġare Ġnever Ġused ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠCloses Ġdialog ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. create () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdialog . setOn Show Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdialog . get Button ( AlertDialog . BUTTON _ NEGATIVE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setTextColor ( getColor ( R . color . color Active )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdialog . get Button ( AlertDialog . BUTTON _ POSITIVE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setTextColor ( getColor ( R . color . color Active )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdialog . show () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠPause Ġgame Ġand Ġset Ġup Ġfor Ġgame Ġto Ġstart Ġwith Ġwh iche ver Ġplayer Ġis Ġpreferred Ġto Ġstart Ġagain ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġpause State () Ġ{ ĊĠĠĠĠĠĠĠ Ġpause Timer Top () ĊĠĠĠĠĠĠĠ Ġpause Timer Bot () ĊĠĠĠĠĠĠĠ Ġset Color Clock sTo Neutral () ĊĠĠĠĠĠĠĠ Ġgame Paused Ġ= Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSet Ġtimers Ġto Ġnew Ġspecified Ġvalues ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġreset Timers () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġshared Preferences Ġ= Ġget SharedPreferences (" shared Prefs ", ĠContext . MODE _ PRIVATE ) ĊĠĠĠĠĠĠĠ Ġpause Timer Top () ĊĠĠĠĠĠĠĠ Ġpause Timer Bot () ĊĠĠĠĠĠĠĠ Ġtime InSeconds Bot Ġ= Ġshared Preferences . getInt (" BOT _ TIME ", 9 0 0 ) ĊĠĠĠĠĠĠĠ Ġtime InSeconds Top Ġ= Ġshared Preferences . getInt (" TOP _ TIME ", 9 0 0 ) ĊĠĠĠĠĠĠĠ Ġupdate Text UI Bot () ĊĠĠĠĠĠĠĠ Ġupdate Text UIT op () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠPause Ġtimer Ġand Ġlight Ġup Ġopponent s Ġscreen ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġpause Timer Bot () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( this :: count Down Timer Bot . isInitialized ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcount Down Timer Bot . cancel () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Colors Top Active () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġpause Timer Top () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( this :: count Down Timer Top . isInitialized ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcount Down Timer Top . cancel () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Colors Bot Active () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠStarted Ġopponent Ġclock Ġand Ġrun ĠonStart Timer ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġstart Timer Bot ( seconds : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ ĠonStart Timer () ĊĊĠĠĠĠĠĠĠ Ġcount Down Timer Bot Ġ= Ġobject Ġ: ĠCount Down Timer ( seconds Ġ* Ġ 1 0 0 0 L , Ġ 1 0 0 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Finish () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d (" T ", Ġ" Bottom Ġtimer Ġhas Ġended !") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclock State Ġ= ĠClock States . CLOCK _ END ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Tick ( p 0 : ĠLong ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtime InSeconds Bot Ġ= Ġ( p 0 Ġ/ Ġ 1 0 0 0 L ). toInt () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġupdate Text UI Bot () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġcount Down Timer Bot . start () ĊĊĠĠĠĠĠĠĠ Ġset Colors Bot Active () ĊĊĠĠĠĠĠĠĠ Ġtop _ sq . is Clickable Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġbot _ sq . is Clickable Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġpause Timer Top () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠStarted Ġopponent Ġclock Ġand Ġrun ĠonStart Timer ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġstart Timer Top ( seconds : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ ĠonStart Timer () ĊĊĠĠĠĠĠĠĠ Ġcount Down Timer Top Ġ= Ġobject Ġ: ĠCount Down Timer ( seconds Ġ* Ġ 1 0 0 0 L , Ġ 1 0 0 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Finish () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d (" T ", Ġ" Top Ġtimer Ġhas Ġended !") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclock State Ġ= ĠClock States . CLOCK _ END ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Tick ( p 0 : ĠLong ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtime InSeconds Top Ġ= Ġ( p 0 Ġ/ Ġ 1 0 0 0 L ). toInt () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġupdate Text UIT op () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġcount Down Timer Top . start () ĊĊĠĠĠĠĠĠĠ Ġset Colors Top Active () ĊĊĠĠĠĠĠĠĠ Ġtop _ sq . is Clickable Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġbot _ sq . is Clickable Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġpause Timer Bot () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠCode Ġto Ġrun Ġat ĠStart Ġof ĠTim ers ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun ĠonStart Timer () Ġ{ ĊĠĠĠĠĠĠĠ Ġgame Paused Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġclock State Ġ= ĠClock States . CLOCK _ START ĊĠĠĠĠĠĠĠ Ġmedia Player ?. start () ĊĠĠĠĠĠĠĠ Ġpause _ button . visibility Ġ= ĠView . VISIBLE ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠOpen ĠSettings Ġmenu Ġand Ġpause ĠMainActivity ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġopen Settings () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( this , ĠSettings Activity :: class . java ) ĊĠĠĠĠĠĠĠ ĠstartActivity ( intent ) ĊĠĠĠĠĠĠĠ Ġthis . pause State () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠUpdate Ġtimers ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġupdate Text UI Bot () Ġ{ ĊĠĠĠĠĠĠĠ Ġbot _ clock . text Ġ= ĠClock ( time InSeconds Bot ). update Text () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġupdate Text UIT op () Ġ{ ĊĠĠĠĠĠĠĠ Ġtop _ clock . text Ġ= ĠClock ( time InSeconds Top ). update Text () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSet Ġcolors Ġto Ġindicate Ġnext Ġplay ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġset Colors Top Active () Ġ{ ĊĠĠĠĠĠĠĠ Ġtop _ sq . set BackgroundColor ( getColor ( R . color . color Active )) ĊĠĠĠĠĠĠĠ Ġbot _ sq . set BackgroundColor ( getColor ( R . color . color Inactive )) ĊĠĠĠĠĠĠĠ Ġtop _ clock . setTextColor ( getColor ( R . color . color Active Text )) ĊĠĠĠĠĠĠĠ Ġbot _ clock . setTextColor ( getColor ( R . color . color Inactive Text )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset Colors Bot Active () Ġ{ ĊĠĠĠĠĠĠĠ Ġbot _ sq . set BackgroundColor ( getColor ( R . color . color Active )) ĊĠĠĠĠĠĠĠ Ġtop _ sq . set BackgroundColor ( getColor ( R . color . color Inactive )) ĊĠĠĠĠĠĠĠ Ġbot _ clock . setTextColor ( getColor ( R . color . color Active Text )) ĊĠĠĠĠĠĠĠ Ġtop _ clock . setTextColor ( getColor ( R . color . color Inactive Text )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset Color Clock sTo Neutral () Ġ{ ĊĠĠĠĠĠĠĠ Ġtop _ sq . set BackgroundColor ( getColor ( R . color . color Inactive )) ĊĠĠĠĠĠĠĠ Ġbot _ sq . set BackgroundColor ( getColor ( R . color . color Inactive )) ĊĠĠĠĠĠĠĠ Ġtop _ clock . setTextColor ( getColor ( R . color . color Inactive Text )) ĊĠĠĠĠĠĠĠ Ġbot _ clock . setTextColor ( getColor ( R . color . color Inactive Text )) ĊĠĠĠĠĠĠĠ Ġtop _ sq . is Clickable Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġbot _ sq . is Clickable Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġclock State Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġpause _ button . visibility Ġ= ĠView . GONE ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠLoad Ġshared Preferences ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġload Data () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġshared Preferences Ġ= Ġget SharedPreferences (" shared Prefs ", ĠContext . MODE _ PRIVATE ) ĊĠĠĠĠĠĠĠ Ġis Night Mode On Ġ= Ġshared Preferences . getBoolean (" BOOLEAN _ KEY ", Ġfalse ) ĊĠĠĠĠĠĠĠ Ġself Start Ġ= Ġshared Preferences . getBoolean (" SELF _ START ", Ġfalse ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( is Night Mode On ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAppCompat Delegate . setDefault Night Mode ( AppCompat Delegate . MODE _ N IGHT _ YES ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠShow Ġdialog Ġto Ġclose Ġwhen Ġ' Android Ġback Ġbutton ' Ġpressed ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġon Back Pressed () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdialog Ġ= ĠAlertDialog . Builder ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. setMessage (" Close ?") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Positive Button ( android . R . string . ok ) Ġ{ Ġ_, Ġ_ Ġ-> Ġ// Ġdialog , Ġwhich Button Ġare Ġnever Ġused ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . on Back Pressed () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Negative Button ( android . R . string . cancel ) Ġ{ Ġ_, Ġ_ Ġ-> Ġ// Ġdialog , Ġwhich Button Ġare Ġnever Ġused ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠCloses Ġdialog ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. create () ĊĠĠĠĠĠĠĠ Ġdialog . setOn Show Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdialog . get Button ( AlertDialog . BUTTON _ NEGATIVE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setTextColor ( getColor ( R . color . color Active )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdialog . get Button ( AlertDialog . BUTTON _ POSITIVE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setTextColor ( getColor ( R . color . color Active )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġdialog . show () ĊĠĠĠ Ġ} Ċ }