package Ġcom . example . wan android . settings Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . core . content . Context Compat Ċ import Ġandroidx . preference . Preference Ċ import Ġandroidx . preference . Preference Fragment Compat Ċ import Ġandroidx . preference . Switch Preference Compat Ċ import Ġcom . example . wan android . Build Config Ċ import Ġcom . example . wan android . R Ċ import Ġcom . example . wan android . main . MainActivity Ċ import Ġcom . example . wan android . settings . History Disable AlertDialog Fragment . Companion . DISABLE _ HISTORY Ċ import Ġcom . example . wan android . settings . History Disable AlertDialog Fragment . Companion . KEY _ IS _ DISABLE Ċ import Ġcom . google . android . gms . oss . licenses . O ss License s Menu Activity Ċ Ċ class ĠSettings Fragment Ġ: ĠPreference Fragment Compat () Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġenable History Preference : ĠSwitch Preference Compat ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , ĊĠĠĠĠĠĠĠ Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= Ġsuper . onCreate View ( in flater , Ġcontainer , ĠsavedInstanceState ) ĊĠĠĠĠĠĠĠ Ġview ?. set BackgroundColor ( Context Compat . getColor ( require Context (), Ġandroid . R . color . white )) ĊĠĠĠĠĠĠĠ Ġreturn Ġview ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate Preferences ( savedInstanceState : ĠBundle ?, Ġroot Key : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġset Preferences From Resource ( R . xml . preferences , Ġroot Key ) ĊĊĠĠĠĠĠĠĠ Ġval Ġurl Open In Browser Ġ= Ġfind Preference < Switch Preference Compat >( getString ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . string . settings _ url _ open _ in _ browser _ key )) ĊĠĠĠĠĠĠĠ Ġurl Open In Browser ?. on Preference ChangeListener Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPreference . On Preference ChangeListener Ġ{ Ġ_, ĠnewValue Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ éĩį åĲ¯ åºĶçĶ¨ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( Intent ( context , ĠMainActivity :: class . java ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Flags ( Intent . FLAG _ ACTIVITY _ NEW _ TASK Ġor ĠIntent . FLAG _ ACTIVITY _ CLEAR _ TOP ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġenable History Preference Ġ= Ġfind Preference ( getString ( R . string . settings _ enable _ history _ key )) ĊĠĠĠĠĠĠĠ Ġenable History Preference ?. on Preference ChangeListener Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPreference . On Preference ChangeListener Ġ{ Ġ_, ĠnewValue Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( newValue Ġ== Ġfalse ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ åħ³éĹŃ æµıè§Ī åİĨåı² æĹ¶ å¼¹ ä¸Ģä¸ª å¯¹ è¯Ŀ æ¡Ĩ æıĲç¤º çĶ¨æĪ· æµıè§Ī åİĨåı² ä¼ļ è¢« æ¸ħ éĻ¤ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġalert Dialog Ġ= ĠHistory Disable AlertDialog Fragment (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Target Fragment ( this @ Settings Fragment , ĠDISABLE _ HISTORY ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġalert Dialog . show ( require Activity (). support FragmentManager , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠHistory Disable AlertDialog Fragment . SHOW _ TAG ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġè®¾ç½® å¤ ľ éĹ´ æ¨¡å¼ı ĊĠĠĠĠĠĠĠ Ġval Ġenable Night Mode Preference Ġ= Ġfind Preference < Switch Preference Compat >( getString ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . string . settings _ enable _ night _ mode _ key )) ĊĠĠĠĠĠĠĠ Ġenable Night Mode Preference ?. on Preference ChangeListener Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPreference . On Preference ChangeListener Ġ{ Ġ_, ĠnewValue Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( newValue Ġ== Ġtrue ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ æīĵå¼Ģ å¤ ľ éĹ´ æ¨¡å¼ı ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ åħ³éĹŃ å¤ ľ éĹ´ æ¨¡å¼ı ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġè®¾ç½® çīĪæľ¬ ä¿¡æģ¯ ĊĠĠĠĠĠĠĠ Ġval Ġversion Info Preference Ġ= Ġfind Preference < Preference >( getString ( R . string . settings _ version _ info _ key )) ĊĠĠĠĠĠĠĠ Ġversion Info Preference ?. summary Provider Ġ= ĠPreference . Summary Provider < Preference > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"${ getString ( R . string . current _ version )} Ġ${ Build Config . VERSION _ NAME } (${ Build Config . VERSION _ CODE })" ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġ æīĵå¼Ģ å¼ĢæºĲ è®¸ åı¯ ĊĠĠĠĠĠĠĠ Ġval Ġopen Source License Preference Ġ= Ġfind Preference < Preference >( getString ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . string . settings _ open _ source _ license _ key )) ĊĠĠĠĠĠĠĠ Ġopen Source License Preference ?. on Preference ClickListener Ġ= ĠPreference . On Preference ClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠO ss License s Menu Activity . set Activity Title ( getString ( R . string . settings _ open _ source _ license _ title )) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( Intent ( context , ĠO ss License s Menu Activity :: class . java )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Activity Result ( request Code : ĠInt , ĠresultCode : ĠInt , Ġdata : ĠIntent ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( request Code Ġ== ĠDISABLE _ HISTORY Ġ&& ĠresultCode Ġ== ĠActivity . RESULT _ OK ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġis Disable Ġ= Ġdata ?. getBoolean Extra ( KEY _ IS _ DISABLE , Ġfalse ) Ġ?: Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġenable History Preference ?. isChecked Ġ= Ġ! is Disable ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }