package Ġcom . example . covid _ 1 9 statistics . feature . main Ċ Ċ import Ġandroid . content . SharedPreferences Ċ import Ġandroid . content . res . Configuration Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . os . Handler Ċ import Ġandroid . os . Looper Ċ import Ġandroid . widget . TextView Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . navigation . find Nav Controller Ċ import Ġandroidx . navigation . ui . setup With Nav Controller Ċ import Ġcom . example . covid _ 1 9 statistics . R Ċ import Ġcom . example . covid _ 1 9 statistics . common .* Ċ import Ġcom . example . covid _ 1 9 statistics . data . model . Cov id App Event Ċ import Ġcom . example . covid _ 1 9 statistics . databinding . Activity Main Binding Ċ import Ġcom . google . android . material . button . Material Button Ċ import Ġorg . green robot . event bus . EventBus Ċ import Ġorg . green robot . event bus . Subscribe Ċ import Ġorg . green robot . event bus . Thread Mode Ċ import Ġjava . util .* ĊĊ Ċ class ĠMainActivity Ġ: ĠC ov id App Activity () Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġdouble Back To Exit Pressed Once Ġ= Ġfalse ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġbinding : ĠActivity Main Binding ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġshared Preferences : ĠSharedPreferences ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġset Configuration () ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġbinding Ġ= ĠActivity Main Binding . inflate ( layout Inflater ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( binding . root ) ĊĊĠĠĠĠĠĠĠ Ġshared Preferences Ġ= Ġget SharedPreferences ( SHARED _ PREFER ENCES , ĠMODE _ PRIVATE ) ĊĊĠĠĠĠĠĠĠ Ġget Constants From SharedPreferences () ĊĊĠĠĠĠĠĠĠ Ġval Ġnav Controller Ġ= Ġfind Nav Controller ( R . id . fragment ) ĊĠĠĠĠĠĠĠ Ġbinding . bottom Navigation View . setup With Nav Controller ( nav Controller ) ĊĊĠĠĠĠĠĠĠ Ġbinding . bottom Navigation View . setOn Item Re selected Listener Ġ{ ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Back Pressed () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( double Back To Exit Pressed Once ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġdouble Back To Exit Pressed Once Ġ= Ġtrue ĊĠĠĠĠĠĠĠ ĠToast . makeText ( this , Ġ" Ø¨ Ø± Ø§ÛĮ ĠØ® Ø± ÙĪ Ø¬ Ġ 2 ĠØ¨ Ø§Ø± ĠØ¨ Ø± Ú¯ Ø´ Øª ĠØ¨ Ø² ÙĨ ÛĮØ¯ ", ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠ ĠHandler ( Looper . get Main Looper ()). post Delayed ({ Ġdouble Back To Exit Pressed Once Ġ= Ġfalse Ġ}, Ġ 2 0 0 0 ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Subscribe ( thread Mode Ġ= ĠThread Mode . MAIN ) ĊĠĠĠ Ġfun Ġshow Error ( covid App Event : ĠC ov id App Event ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( covid App Event . type ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠC ov id App Event . Type . SO METH ING _ WRONG Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġview Ġ= Ġshow Something Wrong ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview ?. findViewById < TextView >( R . id . tv _ error ) !!. text Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠgetString ( covid App Event . res Message ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview ?. findViewById < Material Button >( R . id . btn Back )?. setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Something Wrong ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonStart () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onStart () ĊĠĠĠĠĠĠĠ ĠEvent Bus . getDefault (). register ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Stop () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Stop () ĊĠĠĠĠĠĠĠ ĠEvent Bus . getDefault (). unregister ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset Configuration () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġlocale Ġ= ĠLocale (" us ") ĊĠĠĠĠĠĠĠ ĠLocale . setDefault ( locale ) ĊĠĠĠĠĠĠĠ Ġval Ġconfiguration : ĠConfiguration Ġ= Ġbase Context . resources . configuration ĊĠĠĠĠĠĠĠ Ġconfiguration . locale Ġ= Ġlocale ĊĠĠĠĠĠĠĠ Ġbase Context . resources . update Configuration ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconfiguration , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbase Context . resources . display Metrics ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Constants From SharedPreferences () Ġ{ ĊĠĠĠĠĠĠĠ ĠDAY S _ AG O Ġ= Ġshared Preferences . getInt ( CH ART _ DAYS _ AG O _ KEY , Ġ 1 4 ) ĊĠĠĠĠĠĠĠ ĠCH ART _ FONT _ SIZE Ġ= Ġshared Preferences . getInt ( FONT _ SIZE _ KEY , Ġ 1 0 ) ĊĊĠĠĠ Ġ} Ċ Ċ }