package Ġcom . ches ire . nek ome . app . settings Ċ Ċ import Ġandroid . net . Uri Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . appcompat . app . AppCompat Delegate Ċ import Ġandroidx . browser . custom tabs . Custom Tabs Intent Ċ import Ġandroidx . navigation . fragment . find Nav Controller Ċ import Ġandroidx . preference . List Preference Ċ import Ġandroidx . preference . Preference Ċ import Ġandroidx . preference . Preference Fragment Compat Ċ import Ġcom . ches ire . l ifec yk le log . Log L ifec yk le Ċ import Ġcom . ches ire . nek ome . core . flags . User Series Status Ċ import Ġcom . ches ire . nek ome . core . settings . Theme Ċ Ċ /** Ċ Ġ* Ġ[ Settings Fragment ] Ġhosts Ġthe Ġconfiguration Ġoptions Ġfor Ġthe Ġapplication . Ċ Ġ*/ Ċ @ Log L ifec yk le Ċ class ĠSettings Fragment Ġ: ĠPreference Fragment Compat () Ġ{ ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġkey Privacy Policy : ĠString ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġkey License s : ĠString ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġkey Github : ĠString ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġkey Default Series State : ĠString ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġkey Theme : ĠString ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate Preferences ( savedInstanceState : ĠBundle ?, Ġroot Key : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġset Preferences From Resource ( R . xml . preferences , Ġroot Key ) ĊĠĠĠĠĠĠĠ Ġkey Privacy Policy Ġ= ĠgetString ( R . string . key _ privacy _ policy ) ĊĠĠĠĠĠĠĠ Ġkey License s Ġ= ĠgetString ( R . string . key _ licenses ) ĊĠĠĠĠĠĠĠ Ġkey Github Ġ= ĠgetString ( R . string . key _ github ) ĊĠĠĠĠĠĠĠ Ġkey Default Series State Ġ= ĠgetString ( R . string . key _ default _ series _ state ) ĊĠĠĠĠĠĠĠ Ġkey Theme Ġ= ĠgetString ( R . string . key _ theme ) ĊĊĠĠĠĠĠĠĠ Ġsetup Default Series State () ĊĠĠĠĠĠĠĠ Ġsetup Theme () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġsetup Default Series State () Ġ{ ĊĠĠĠĠĠĠĠ Ġfind Preference < List Preference >( key Default Series State )?. let Ġ{ Ġpref Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġuser Series Map Ġ= ĠUser Series Status . getValue Map ( require Context ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpref . entries Ġ= Ġuser Series Map . values . to Typed Array () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpref . entry Values Ġ= Ġuser Series Map . keys . map Ġ{ Ġit . toString () Ġ}. to Typed Array () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( pref . value Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpref . value Ġ= ĠUser Series Status . Current . index . toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġsetup Theme () Ġ{ ĊĠĠĠĠĠĠĠ Ġfind Preference < List Preference >( key Theme )?. let Ġ{ Ġpref Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġthemes Ġ= ĠTheme . getValue Map ( require Context ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpref . entries Ġ= Ġthemes . values . to Typed Array () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpref . entry Values Ġ= Ġthemes . keys . map Ġ{ Ġit . toString () Ġ}. to Typed Array () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( pref . value Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpref . value Ġ= ĠTheme . System . value . toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpref . setOn Preference ChangeListener Ġ{ Ġ_, ĠnewValue Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġconverted Value Ġ= Ġ( newValue Ġas ? ĠString )?. toInt OrNull () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Theme ( converted Value Ġ?: ĠAppCompat Delegate . MODE _ N IGHT _ FOLLOW _ SYSTEM ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Preference Tree Click ( preference : ĠPreference ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( preference ?. key ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġkey Privacy Policy Ġ-> Ġshow Privacy Policy () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġkey Github Ġ-> Ġshow Github () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġkey License s Ġ-> Ġshow License s () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġreturn Ġsuper . on Preference Tree Click ( preference ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġshow Privacy Policy () Ġ{ ĊĠĠĠĠĠĠĠ ĠCustom Tabs Intent . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. launch Url ( require Context (), ĠUri . parse ( getString ( R . string . privacy _ policy _ url ))) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġshow Github () Ġ{ ĊĠĠĠĠĠĠĠ ĠCustom Tabs Intent . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. launch Url ( require Context (), ĠUri . parse ( getString ( R . string . settings _ github _ url ))) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġshow License s () Ġ= ĊĠĠĠĠĠĠĠ Ġfind Nav Controller (). navigate ( Settings Fragment Directions . to O ss Fragment ()) ĊĊĠĠĠ Ġprivate Ġfun Ġset Theme ( theme : ĠInt ) Ġ= ĠAppCompat Delegate . setDefault Night Mode ( theme ) Ċ } Ċ