package Ġcom . sa ifer wp . what sp lay ing . ui Ċ Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . v 4 . app . Fragment Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . Button Ċ import Ġandroid . widget . Radio Group Ċ import Ġandroid . widget . TextView Ċ import Ġcom . sa ifer wp . what sp lay ing . R Ċ import Ġcom . sa ifer wp . what sp lay ing . utils . Preferences ĊĊ Ċ class ĠSettings Fragment Ġ: ĠFragment () Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġtitle Settings : ĠTextView ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġbutton TT S : ĠButton ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġoutput Radio Group : ĠRadio Group ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġpreferences : ĠPreferences ĊĊĠĠĠ Ġprivate Ġval Ġoutput Prefs TypeMap Ġ= Ġhash Map Of ( ĊĠĠĠĠĠĠĠ ĠR . id . settings _ output _ option _ head phones Ġto ĠPreferences . Output Pref . ONLY _ HEAD PH ONES , ĊĠĠĠĠĠĠĠ ĠR . id . settings _ output _ option _ all Ġto ĠPreferences . Output Pref . ALL ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( in flater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĠsavedInstanceState : ĠBundle ?): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġinflater . inflate ( R . layout . fragment _ settings , Ġcontainer , Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġpreferences Ġ= ĠPreferences . getInstance ( require Context ()) ĊĊĠĠĠĠĠĠĠ Ġtitle Settings Ġ= Ġview . findViewById ( R . id . settings _ title ) ĊĠĠĠĠĠĠĠ Ġtitle Settings . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequire Activity (). on Back Pressed () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbutton TT S Ġ= Ġview . findViewById ( R . id . settings _ button _ tts ) ĊĠĠĠĠĠĠĠ Ġbutton TT S . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . action Ġ= Ġ" com . android . settings . TT S _ SETTINGS " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . flags Ġ= ĠIntent . FLAG _ ACTIVITY _ NEW _ TASK ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . startActivity ( intent ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġoutput Pref Ġ= Ġpreferences . getOutput Pref () ĊĠĠĠĠĠĠĠ Ġoutput Radio Group Ġ= Ġview . findViewById ( R . id . settings _ output _ group ) ĊĠĠĠĠĠĠĠ Ġoutput Radio Group . check ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoutput Prefs TypeMap . entries . find Ġ{ Ġoutput Pref Ġ== Ġit . value Ġ} ?. key Ġ?: ĠR . id . settings _ output _ option _ head phones ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġoutput Radio Group . setOn Checked ChangeListener Ġ{ Ġgroup , Ġchecked Id Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġchecked Ġ= Ġoutput Prefs TypeMap [ checked Id ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchecked ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPreferences . getInstance ( require Context ()). setOutput Pref ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġnew Instance (): ĠSettings Fragment Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠSettings Fragment () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }