/* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 2 0 ĠL ena ĠK oci em ba Ċ Ġ* Ċ Ġ* Ġ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 . lk . not izen 2 . fragments Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . util . Log Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroidx . preference .* Ċ import Ġcom . lk . not izen 2 . R Ċ import Ġcom . lk . not izen 2 . dialogs . Password Set Dialog Ċ import Ġcom . lk . not izen 2 . dialogs . Personal ization Dialog Ċ import Ġcom . lk . not izen 2 . models . Notes ViewModel Ċ import Ġcom . lk . not izen 2 . utils .* Ċ Ċ /** Ċ Ġ* ĠE rst ellt Ġvon ĠL ena Ġam Ġ 0 2 / 0 3 / 2 0 1 9 . Ċ Ġ*/ Ċ class ĠSettings Fragment Ġ: ĠPreference Fragment Compat () Ġ{ ĊĊĠĠĠ Ġprivate Ġval ĠTAG Ġ= Ġ" Settings Fragment " ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġnotes ViewModel : ĠNotes ViewModel ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġsp w : ĠShared Pref Wrapper ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate Preferences ( savedInstanceState : ĠBundle ?, Ġroot Key : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġset Preferences From Resource ( R . xml . fragment _ settings , Ġroot Key ) ĊĠĠĠĠĠĠĠ Ġnotes ViewModel Ġ= ĠViewModel Factory . get Notes ViewModel ( require Activity ()) ĊĠĠĠĠĠĠĠ Ġsp w Ġ= ĠShared Pref Wrapper ( require Context ()) ĊĠĠĠĠĠĠĠ Ġadd Clicked Listener () ĊĠĠĠĠĠĠĠ Ġprepare Filter Preference () ĊĠĠĠĠĠĠĠ Ġprepare Password Preferences () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġadd Clicked Listener (){ ĊĠĠĠĠĠĠĠ Ġfind Preference < Preference >( Constants . PRE F _ CAT _ PERSON AL IZATION )?. on Preference ClickListener Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPreference . On Preference ClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcall Personal ization Dialog () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġfind Preference < Preference >( Constants . PRE F _ PASSWORD _ SET )?. on Preference ClickListener Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPreference . On Preference ClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcall Set Password Dialog () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġfind Preference < Switch Preference >( Constants . PRE F _ DE SIGN )?. setOn Preference ChangeListener Ġ{ Ġpreference , ĠnewValue Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequire Activity (). re create () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġprepare Filter Preference () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsorting Ġ= Ġfind Preference < Multi Select List Preference >( Constants . PRE F _ FILTER _ CATEG ORIES ) ĊĠĠĠĠĠĠĠ Ġif ( sorting Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsorting . entries Ġ= ĠCategories . get Category Name Array () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsorting . entry Values Ġ= ĠarrayOf (" 0 "," 1 "," 2 "," 3 "," 4 "," 5 "," 6 "," 7 ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġsorting . setOn Preference ChangeListener Ġ{ Ġ_, ĠnewValue Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" Ne uer ĠWert Ġder ĠFilter Preference : Ġ$ newValue ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġvalue Set Ġ= ĠnewValue Ġas ĠSet < String > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġvalue List Ġ= ĠCategories . transform To Category List ( value Set ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnotes ViewModel . set Filtered Categories ( value List ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġprepare Password Preferences () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpassword Ġ= Ġsp w . readString ( Constants . SP REF _ PASSWORD ) ĊĠĠĠĠĠĠĠ Ġif ( password Ġ!= Ġ"") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfind Preference < Preference >( Constants . PRE F _ PASSWORD _ SET )?. isEnabled Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcall Set Password Dialog () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdialog : ĠFragment Ġ= ĠPassword Set Dialog () ĊĠĠĠĠĠĠĠ Ġrequire Activity (). support FragmentManager ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. beginTransaction (). add ( dialog , Ġ" Dialog _ set _ password "). commit () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcall Personal ization Dialog () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdialog : ĠFragment Ġ= ĠPersonal ization Dialog () ĊĠĠĠĠĠĠĠ Ġrequire Activity (). support FragmentManager ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. beginTransaction (). add ( dialog , Ġ" Dialog _ personal ization "). commit () ĊĠĠĠ Ġ} Ċ Ċ }