package Ġjp . gr . java _ conf . mi w ax . tro uto ss . view . dialog Ċ Ċ import Ġandroid . content . Context Ċ import Ġcom . af ol le st ad . material dialogs . Material Dialog Ċ import Ġcom . af ol le st ad . material dialogs . simple list . Material Simple ListAdapter Ċ import Ġcom . af ol le st ad . material dialogs . simple list . Material Simple ListItem Ċ import Ġio . reactivex . Flow able Ċ import Ġio . reactivex . processors . Behavior Processor Ċ import Ġjp . gr . java _ conf . mi w ax . tro uto ss . R Ċ Ċ /** Ċ Ġ* ĠCreated Ġby ĠT omo ya ĠMi wa Ġon Ġ 2 0 1 7 / 0 5 / 2 7 . Ċ Ġ* ĠM ast od on ãģ® Visibility éģ¸æĬŀ çĶ¨ ãĥĢ ãĤ¤ ãĤ¢ ãĥŃãĤ° Ċ Ġ*/ Ċ Ċ class ĠM ast od on Visibility Dialog ( context : ĠContext ) Ġ{ ĊĊĠĠĠ Ġenum Ġclass ĠResult Ġ{ ĊĠĠĠĠĠĠĠ ĠPUBLIC , ĊĠĠĠĠĠĠĠ ĠUN LIST ED , ĊĠĠĠĠĠĠĠ ĠPRIVATE , ĊĠĠĠĠĠĠĠ ĠDIRECT ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġprocessor Ġ= Ġ ĠBehavior Processor . create < Result >() ĊĠĠĠ Ġprivate Ġval Ġdialog : ĠMaterial Dialog ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġadapter Ġ= ĠMaterial Simple ListAdapter ({ Ġd , Ġ_, Ġitem Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtag Ġ= Ġitem . tag ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( tag Ġis ĠString ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprocessor . onNext ( Result . valueOf ( tag )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġd . dismiss () ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġval Ġbackground Ġ= ĠR . color . dialog _ background ĊĠĠĠĠĠĠĠ Ġval Ġpadding Ġ= Ġ 4 ĊĊĠĠĠĠĠĠĠ Ġadapter . add ( Material Simple ListItem . Builder ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. content ( R . string . visibility _ public ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. icon ( R . drawable . public _ earth ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. icon Padding Dp ( padding ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. backgroundColor Res ( background ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. tag ( Result . PUBLIC . name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build ()) ĊĠĠĠĠĠĠĠ Ġadapter . add ( Material Simple ListItem . Builder ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. content ( R . string . visibility _ un listed ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. icon ( R . drawable . lock _ open ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. icon Padding Dp ( padding ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. backgroundColor Res ( background ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. tag ( Result . UN LIST ED . name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build ()) ĊĠĠĠĠĠĠĠ Ġadapter . add ( Material Simple ListItem . Builder ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. content ( R . string . visibility _ private ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. icon ( R . drawable . lock _ close ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. icon Padding Dp ( padding ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. backgroundColor Res ( background ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. tag ( Result . PRIVATE . name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build ()) ĊĠĠĠĠĠĠĠ Ġadapter . add ( Material Simple ListItem . Builder ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. content ( R . string . visibility _ direct ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. icon ( R . drawable . direct ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. icon Padding Dp ( padding ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. backgroundColor Res ( background ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. tag ( Result . DIRECT . name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build ()) ĊĊĠĠĠĠĠĠĠ Ġdialog Ġ= ĠMaterial Dialog . Builder ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. adapter ( adapter , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. negative Text ( R . string . cancel ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. dismiss Listener Ġ{ Ġprocessor . onComplete () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. auto Dismiss ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġshow (): ĠFlow able < Result > Ġ{ ĊĠĠĠĠĠĠĠ Ġdialog . show () ĊĠĠĠĠĠĠĠ Ġreturn Ġprocessor ĊĠĠĠ Ġ} Ċ } Ċ