/* Ċ Ġ* ĠCopyright Ġ 2 0 2 1 ĠThe ĠAndroid ĠOpen ĠSource ĠProject Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠ Ġhttps :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ package Ġcom . example . android dev challenge . main _ activity Ċ Ċ import Ġcom . example . android dev challenge . R Ċ import Ġcom . example . android dev challenge . theme . Theme Manager Ċ import Ġcom . example . android dev challenge . weather . Weather Manager Ċ Ċ class ĠMainActivity Presenter ( ĊĠĠĠ Ġprivate Ġval Ġscreen : ĠMainActivity Contract . Screen , ĊĠĠĠ Ġprivate Ġval Ġtheme Manager : ĠTheme Manager , ĊĠĠĠ Ġprivate Ġval Ġweather Manager : ĠWeather Manager Ċ ) Ġ: ĠMainActivity Contract . User Action Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState Null : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġupdate Screen () ĊĠĠĠĠĠĠĠ Ġweather Manager . load () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Resume () Ġ{ ĊĠĠĠĠĠĠĠ Ġweather Manager . load () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġupdate Screen () Ġ{ ĊĠĠĠĠĠĠĠ Ġupdate Theme () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġupdate Theme () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlight Ġ= Ġtheme Manager . is Light () ĊĠĠĠĠĠĠĠ Ġscreen . setStatus Bar Theme ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( light ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . color . main _ activity _ status _ bar _ light _ theme _ color ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . color . main _ activity _ status _ bar _ dark _ theme _ color ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtheme Dark Ġ= Ġ! light ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġscreen . set NavigationBar Theme ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( light ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . color . main _ activity _ navigation _ bar _ light _ theme _ color ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . color . main _ activity _ navigation _ bar _ dark _ theme _ color ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtheme Dark Ġ= Ġ! light ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ