/* Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 1 7 - 2 0 1 9 ĠDi ep DT Ċ Ġ* Ċ Ġ* Ġ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 . one vn . browser . legacy . settings . activity Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . preference . Preference Ċ import Ġandroidx . preference . Preference Screen Ċ import Ġandroidx . preference . Switch Preference Ċ import Ġcom . one vn . browser . ad block . ui . original . Ad Block Activity Ċ import Ġcom . one vn . browser . core . utility . extensions . can Resolve Path Ċ import Ġcom . one vn . browser . download . ui . Fallback Folder Select Activity Ċ import Ġcom . one vn . browser . legacy . R Ċ import Ġcom . one vn . browser . legacy . settings . data . AppData Ċ import Ġcom . one vn . browser . ui . preference . Str ToInt List Preference Ċ import Ġorg . jetbrains . ank o . long Toast Ċ Ċ class ĠBrowser Settings Fragment Ġ: ĠOne V NP reference Fragment () Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġreplace Fragment : ĠReplace Fragment Listener ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate One VN Preferences ( savedInstanceState : ĠBundle ?, Ġroot Key : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġadd Preferences From Resource ( R . xml . pref _ browser _ settings ) ĊĊĠĠĠĠĠĠĠ Ġval Ġpref Ġ= Ġfind Preference (" search _ suggest ") Ġas ĠStr ToInt List Preference ĊĠĠĠĠĠĠĠ Ġval Ġsuggest Ġ= Ġfind Preference (" search _ suggest _ engine ") ĊĊĠĠĠĠĠĠĠ Ġsuggest . isEnabled Ġ= Ġpref . value Ġ!= Ġ 2 ĊĊĠĠĠĠĠĠĠ Ġpref . setOn Preference ChangeListener Ġ{ Ġ_, ĠnewValue Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuggest . isEnabled Ġ= ĠnewValue Ġas ĠInt Ġ!= Ġ 2 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġsave Pin ned Ġ= Ġfind Preference (" save _ pinned _ tabs ") ĊĠĠĠĠĠĠĠ Ġval Ġsave Last Ġ= Ġfind Preference (" save _ last _ tabs ") Ġas ĠSwitch Preference ĊĊĠĠĠĠĠĠĠ Ġsave Pin ned . isEnabled Ġ= Ġ! save Last . isChecked ĊĠĠĠĠĠĠĠ Ġsave Last . setOn Preference ChangeListener Ġ{ Ġ_, ĠnewValue Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsave Pin ned . isEnabled Ġ= Ġ!( newValue Ġas ĠBoolean ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfind Preference (" ad _ block _ settings "). setOn Preference ClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( Intent ( activity , ĠAd Block Activity :: class . java )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfind Preference (" download _ folder "). setOn Preference ClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity For Result ( Intent ( Intent . ACTION _ OPEN _ DOCUMENT _ TREE ), ĠREQUEST _ FOLDER ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity For Result ( Intent ( activity , ĠF allback Folder Select Activity :: class . java ), ĠREQUEST _ FOLDER ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Preference Start Screen ( pref : ĠPreference Screen ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( pref . key Ġ== Ġ" ps _ search ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreplace Fragment ?. replace Fragment ( Suggest Screen (), Ġ" ps _ search ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Activity Result ( request Code : ĠInt , ĠresultCode : ĠInt , Ġdata : ĠIntent ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( request Code ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠREQUEST _ FOLDER Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġactivity Ġ= Ġactivity Ġ?: Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( result Code Ġ!= ĠActivity . RESULT _ OK Ġ|| Ġdata Ġ== Ġnull ) Ġreturn ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġuri Ġ= Ġdata . data Ġ?: Ġreturn ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( uri . scheme Ġ== Ġ" content ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġactivity . content Resolver . take Persist able Uri Permission ( uri , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIntent . FLAG _ GRANT _ READ _ URI _ PERMISSION Ġor ĠIntent . FLAG _ GRANT _ WRITE _ URI _ PERMISSION ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠApp Data . download _ folder . set ( uri . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠApp Data . commit ( activity , ĠApp Data . download _ folder ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! uri . can Resolve Path ( activity )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġactivity . long Toast ( R . string . pref _ storage _ location _ warn ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Attach ( context : ĠContext ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Attach ( context ) ĊĊĠĠĠĠĠĠĠ Ġreplace Fragment Ġ= Ġactivity Ġas ĠReplace Fragment Listener ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Detach () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Detach () ĊĊĠĠĠĠĠĠĠ Ġreplace Fragment Ġ= Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠREQUEST _ FOLDER Ġ= Ġ 1 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠSuggest Screen Ġ: ĠOne V NP reference Fragment () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġprivate Ġlateinit Ġvar Ġsuggest Engine : ĠPreference ĊĠĠĠĠĠĠĠ Ġprivate Ġlateinit Ġvar Ġsuggest History : ĠPreference ĊĠĠĠĠĠĠĠ Ġprivate Ġlateinit Ġvar Ġsuggest Bookmark : ĠPreference ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonCreate One VN Preferences ( savedInstanceState : ĠBundle ?, Ġroot Key : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Preferences From Resource ( R . xml . pref _ browser _ settings , Ġ" ps _ search ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsuggest Mode Ġ= Ġfind Preference (" search _ suggest ") Ġas ĠStr ToInt List Preference ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuggest Engine Ġ= Ġfind Preference (" search _ suggest _ engine ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuggest History Ġ= Ġfind Preference (" search _ suggest _ hist ories ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuggest Bookmark Ġ= Ġfind Preference (" search _ suggest _ bookmarks ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Suggest Enable ( suggest Mode . value ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuggest Mode . setOn Preference ChangeListener Ġ{ Ġ_, ĠnewValue Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Suggest Enable ( newValue Ġas ĠInt ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġprivate Ġfun Ġset Suggest Enable ( type : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġenable Ġ= Ġtype Ġ!= Ġ 3 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuggest Engine . isEnabled Ġ= Ġenable ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuggest History . isEnabled Ġ= Ġenable ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuggest Bookmark . isEnabled Ġ= Ġenable ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ