package Ġcom . gmail . uia 0 5 9 4 6 6 . lis ka . lists . sort order Ċ Ċ import Ġandroid . app . Dialog Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . appcompat . app . AlertDialog Ċ import Ġandroidx . appcompat . app . AppCompat Dialog Fragment Ċ import Ġcom . gmail . uia 0 5 9 4 6 6 . lis ka . R Ċ Ċ class ĠSort Dialog Ġ: ĠAppCompat Dialog Fragment () Ġ{ ĊĊĠ Ġvar Ġselected : ĠSort Order ? Ġ= Ġnull ĊĊĠ Ġvar Ġon Ok : Ġ(() Ġ-> ĠUnit )? Ġ= Ġnull ĊĊĠ Ġoverride Ġfun ĠonCreate Dialog ( savedInstanceState : ĠBundle ?): ĠDialog Ġ{ ĊĠĠĠ Ġval Ġsort Title Int Ġ= Ġarguments ?. getInt ( EXTRA _ TITLE _ SORT _ INT ) Ġ?: ĠR . string . title _ sort _ default ĊĠĠĠ Ġval Ġsort Title Ġ= ĠgetString ( sort Title Int ) ĊĠĠĠĠĊĠĠĠ Ġval Ġstr Sort Option Ġ= Ġarguments ?. getString ( EXTRA _ SORT _ OPTION ) Ġ?: Ġ"" ĊĠĠĠ Ġval Ġselected SortOrder Ġ= ĠSort Order . fromString ( str Sort Option ) ĊĠĠĠĠĊĠĠĠ Ġval Ġsorted Ġ= ĠSort Order . values (). map Ġ{ Ġit . raw Value Ġ} ĊĠĠĠ Ġval Ġall Title Ġ= ĠSort Order . values (). map Ġ{ Ġget Title For Sort Option ( it ) Ġ} ĊĠĠĠĠĊĠĠĠĠĊĠĠĠ Ġval Ġchecked Item Ġ= Ġsorted . indexOf ( selected SortOrder . raw Value ) ĊĠĠĠĠĊĠĠĠ Ġreturn ĠAlertDialog . Builder ( require Context ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. setTitle ( sort Title ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Negative Button ( android . R . string . cancel ) Ġ{ Ġ_, Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Single Choice Items ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġall Title . to Typed Array (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchecked Item ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ Ġdialog Interface , Ġi Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġm umu Ġ= Ġsorted [ i ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġselected Ġ= ĠSort Order . fromString ( m umu ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Ok ?. invoke () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdialog Interface . dismiss () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}. create () ĊĠĠĠĠĊĠ Ġ} ĊĠĠĊĠ Ġprivate Ġfun Ġget Title For Sort Option ( sort Option : ĠSort Order ) Ġ= Ġwhen Ġ( sort Option ) Ġ{ ĊĠĠĠ ĠSort Order . LAST _ MODI FIED Ġ-> ĠgetString ( R . string . last _ mod ific ated ) ĊĠĠĠ ĠSort Order . A _ Z Ġ-> ĠgetString ( R . string . sort _ alphabet ical ) ĊĠĠĠ ĠSort Order . NEW EST _ FIRST Ġ-> ĠgetString ( R . string . sort _ date _ added ) ĊĠĠĠ ĠSort Order . MAN UAL _ SORT Ġ-> ĠgetString ( R . string . sort _ by _ human ) ĊĠ Ġ} ĊĠĠĊĠĠĊĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĊĠĠĠ Ġprivate Ġconst Ġval ĠEX TRA _ SORT _ OPTION Ġ= Ġ" sort _ option " ĊĠĠĠ Ġprivate Ġconst Ġval ĠEX TRA _ TITLE _ SORT _ INT Ġ= Ġ" sort _ title " ĊĠĠĠĠĊĠĠĠ Ġfun Ġnew Instance ( text Sort Option : ĠSort Order , Ġtitle Int : ĠInt ): ĠSort Dialog Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠSort Dialog (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġarguments Ġ= ĠBundle (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput String ( EXTRA _ SORT _ OPTION , Ġtext Sort Option . raw Value ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput Int ( EXTRA _ TITLE _ SORT _ INT , Ġtitle Int ) ĊĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĊ