/** Ċ Ġ* Ċ Ġ* ĠCopyright Ġ 2 0 2 0 ĠDavid ĠO d ari Ċ Ġ* Ċ Ġ* Ġ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 Ċ Ġ* ĠĠĠĠĠĠĠĠĠĠĠ Ġhttp :// 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 . github . od ar id avid . design patterns . helpers Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . content . SharedPreferences Ċ import Ġandroid . os . Build Ċ import Ġandroid . os . Power Manager Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . preference . Preference Manager Ċ import Ġcom . github . od ar id avid . design patterns . R Ċ import Ġcom . github . od ar id avid . design patterns . base . IS ystem Theme ChangeListener Ċ import Ġcom . github . od ar id avid . design patterns . helpers . Sdk Utils . version Until Ċ import Ġus . fer as . md v . Markdown View ĊĊ Ċ internal Ġinline Ġfun Ġ< re ified ĠT > ĠActivity . navigate To ( no inline Ġintent Extras : Ġ(( Intent ) Ġ-> ĠUnit )? Ġ= Ġnull ) Ġ{ ĊĠĠĠ Ġval Ġintent Ġ= ĠIntent ( this , ĠT :: class . java ) ĊĠĠĠ Ġintent Extras ?. run Ġ{ ĊĠĠĠĠĠĠĠ Ġintent Extras ( intent ) ĊĠĠĠ Ġ} ĊĠĠĠ ĠstartActivity ( intent ) Ċ } Ċ Ċ internal Ġfun ĠMarkdown View . load With Kotlin Css ( ĊĠĠĠ Ġcontext : ĠContext , ĊĠĠĠ ĠfilePath : ĠString , ĊĠĠĠ Ġsystem Theme ChangeListener : ĠI System Theme ChangeListener < String > Ċ ) Ġ{ ĊĠĠĠ Ġload Markdown File ( ĊĠĠĠĠĠĠĠ ĠfilePath , ĊĠĠĠĠĠĠĠ Ġget The med Css ( context , Ġsystem Theme ChangeListener ) ĊĠĠĠ Ġ) Ċ } Ċ Ċ internal Ġfun Ġget The med Css ( ĊĠĠĠ Ġcontext : ĠContext , ĊĠĠĠ Ġsystem Theme ChangeListener : ĠI System Theme ChangeListener < String > Ċ ): ĠString Ġ{ ĊĠĠĠ Ġval Ġsp Ġ= ĠPreference Manager . getDefault SharedPreferences ( context ) ĊĠĠĠ Ġreturn Ġwhen Ġ( getCurrent Theme ( context , Ġsp )) Ġ{ ĊĠĠĠĠĠĠĠ ĠTheme Utils . THEME _ DARK Ġ-> ĠD ARK _ K OT LIN _ CSS _ PATH ĊĠĠĠĠĠĠĠ ĠTheme Utils . THEME _ LIGHT Ġ-> ĠLIGHT _ K OT LIN _ CSS _ PATH ĊĠĠĠĠĠĠĠ ĠTheme Utils . THEME _ SYSTEM Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( version Until ( Build . VERSION _ CODES . P )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpower Manager Ġ= Ġcontext . getSystem Service ( Context . POWER _ SERVICE ) Ġas ĠPower Manager ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsystem Theme ChangeListener . on Power Saver Mode Change ( power Manager ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsystem Theme ChangeListener . on Ui Mode Config Change () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġelse Ġ-> ĠLIGHT _ K OT LIN _ CSS _ PATH ĊĠĠĠ Ġ} Ċ } Ċ Ċ internal Ġfun ĠgetCurrent Theme ( context : ĠContext , Ġsp : ĠSharedPreferences ?): ĠString Ġ{ ĊĠĠĠ Ġreturn Ġsp ?. getString ( context . getString ( R . string . key _ theme _ preference ), ĠTheme Utils . THEME _ LIGHT ) ĊĠĠĠĠĠĠĠ Ġ?: Ġ" default " Ċ } Ċ Ċ internal Ġfun ĠString . check Url Scheme (): ĠString Ġ{ ĊĠĠĠ Ġreturn Ġif Ġ(! startsWith (" http :// ") Ġ&& Ġ! startsWith (" https :// ")) ĊĠĠĠĠĠĠĠ Ġ" http :// $ this " ĊĠĠĠ Ġelse Ġthis Ċ } Ċ Ċ internal Ġfun ĠActivity . show Toast ( msg : ĠString ) Ġ{ ĊĠĠĠ ĠToast . makeText ( this , Ġmsg , ĠToast . LENGTH _ LONG ). show () Ċ }