package Ġapps . j iz zu . simp let odo . ui . view . settings . fragment Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . Motion Event Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . appcompat . app . AlertDialog Ċ import Ġapps . j iz zu . simp let odo . R Ċ import Ġapps . j iz zu . simp let odo . ui . view . settings . fragment . base . Base Settings Fragment Ċ import Ġapps . j iz zu . simp let odo . utils . Preference Helper Ċ import Ġda io . io . d ress code . d ress Code Style Id Ċ import Ġkotlinx . android . synt hetic . main . fragment _ user _ interface .* Ċ Ċ class ĠFragment UI Ġ: ĠBase Settings Fragment () Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( in flater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĠsavedInstanceState : ĠBundle ?): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġinflater . inflate ( R . layout . fragment _ user _ interface , Ġcontainer , Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Resume () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Resume () ĊĠĠĠĠĠĠĠ ĠsetTitle ( getString ( R . string . settings _ page _ title _ user _ interface )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĠĠĠĠĠĠĠ Ġinit Animation Switch () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit Animation Switch () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpreference Helper Ġ= ĠPreference Helper . getInstance () ĊĊĠĠĠĠĠĠĠ Ġsw Animation . setOn Touch Listener Ġ{ Ġ_, Ġevent Ġ-> Ġevent . action Mask ed Ġ== ĠMotion Event . ACTION _ MOVE Ġ} ĊĠĠĠĠĠĠĠ Ġsw Animation . isChecked Ġ= Ġpreference Helper . getBoolean ( Preference Helper . ANIM ATION _ IS _ ON ) ĊĊĠĠĠĠĠĠĠ Ġsw Animation . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpreference Helper . put Boolean ( Preference Helper . ANIM ATION _ IS _ ON , Ġsw Animation . isChecked ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġcl Animations . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsw Animation . isChecked Ġ= Ġ! sw Animation . isChecked ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpreference Helper . put Boolean ( Preference Helper . ANIM ATION _ IS _ ON , Ġsw Animation . isChecked ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġcl Choose Theme . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlist Items Ġ= Ġresources . getString Array ( R . array . app _ theme ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġselected Item Position Ġ= Ġwhen Ġ( activity ?. d ress Code Style Id ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . style . App Theme _ Light Ġ-> Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . style . App Theme _ Dark Ġ-> Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . style . App Theme _ Black Ġ-> Ġ 2 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= Ġwhen Ġ( activity ?. d ress Code Style Id ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . style . App Theme _ Light Ġ-> ĠAlertDialog . Builder ( activity Ġas ĠContext , ĠR . style . AlertDialog Style _ Light ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . style . App Theme _ Dark Ġ-> ĠAlertDialog . Builder ( activity Ġas ĠContext , ĠR . style . AlertDialog Style _ Dark ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĠAlertDialog . Builder ( activity Ġas ĠContext , ĠR . style . AlertDialog Style _ Dark ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠsetTitle ( getString ( R . string . app _ theme _ dialog _ title )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Single Choice Items ( list Items , Ġselected Item Position ) Ġ{ Ġdialog Interface , Ġi Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġselected Item Position Ġ= Ġi ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġactivity ?. d ress Code Style Id Ġ= Ġwhen Ġ( selected Item Position ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 Ġ-> ĠR . style . App Theme _ Light ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 Ġ-> ĠR . style . App Theme _ Dark ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 2 Ġ-> ĠR . style . App Theme _ Black ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĠR . style . App Theme _ Light ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Theme Changed Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdialog Interface . dismiss () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . create (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwindow ?. attributes ?. window Animations Ġ= ĠR . style . Dialog Animation ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwindow ?. setLayout ( resources . get Dimension Pixel Size ( R . dim en . dialog _ picker _ width ), ĠViewGroup . LayoutParams . WRAP _ CONTENT ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġis Theme Changed Ġ= Ġfalse ĊĠĠĠ Ġ} Ċ }