package Ġcom . ub erge ek 4 2 . W ee chat Android . dialogs Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . annotation . Any Thread Ċ import Ġandroidx . annotation . MainThread Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroidx . recyclerview . widget . Diff Util Ċ import Ġcom . ub erge ek 4 2 . W ee chat Android . R Ċ import Ġcom . ub erge ek 4 2 . W ee chat Android . W ee chat Ċ import Ġcom . ub erge ek 4 2 . W ee chat Android . relay . Buffer Ċ import Ġcom . ub erge ek 4 2 . W ee chat Android . relay . Buffer List Ċ import Ġcom . ub erge ek 4 2 . W ee chat Android . relay . Buffer Nick list Eye Ċ import Ġcom . ub erge ek 4 2 . W ee chat Android . relay . Nick Ċ import Ġcom . ub erge ek 4 2 . W ee chat Android . service . Events ĊĊ Ċ private Ġconst Ġval ĠBUFFER _ POINTER Ġ= Ġ" buffer - pointer " ĊĊ Ċ class ĠNick list Dialog Ġ: ĠList Dialog (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBuffer Nick list Eye Ġ{ ĊĠĠĠ Ġoverride Ġvar Ġadapter : ĠNick list Adapter ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġbuffer : ĠBuffer ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġval Ġpointer Ġ= Ġrequire Arguments (). getLong ( BUFFER _ POINTER ) ĊĠĠĠĠĠĠĠ Ġval Ġbuffer Ġ= ĠBuffer List . findBy Pointer ( pointer ) ĊĠĠĠĠĠĠĠ Ġif Ġ( buffer Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdismiss () ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . buffer Ġ= Ġbuffer ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . title Ġ= Ġbuffer . short Name ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . adapter Ġ= ĠNick list Adapter ( require Context ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEvents . SendMessage Event . fire (" input Ġ 0 x % x Ġ/ query Ġ% s ", Ġbuffer . pointer , Ġit . name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdismiss () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Resume () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Resume () ĊĠĠĠĠĠĠĠ Ġbuffer ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Nick list Changed () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . set Buffer Nick list Eye ( this ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Pause () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Pause () ĊĠĠĠĠĠĠĠ Ġbuffer ?. set Buffer Nick list Eye ( null ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ@ Any Thread Ġoverride Ġfun Ġon Nick list Changed () Ġ{ ĊĠĠĠĠĠĠĠ ĠW ee chat . run On MainThread AS AP Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġn icks Ġ= Ġbuffer !!. n icks Copy Sorted By Prefix And Name ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcount Ġ= Ġrequire Context (). resources . get Quantity String ( R . plurals . dialog __ nick list __ n _ users , Ġn icks . size , Ġn icks . size ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Ġ= Ġrequire Context (). getString ( R . string . dialog __ nick list __ title , Ġbuffer !!. short Name , Ġcount ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadapter ?. update ( n icks ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġfun Ġnew Instance ( pointer : ĠLong ): ĠNick list Dialog Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠNick list Dialog (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġarguments Ġ= ĠBundle (). also Ġ{ Ġit . put Long ( BUFFER _ POINTER , Ġpointer ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Static Ġfun Ġshow ( activity : ĠAppCompatActivity , Ġpointer : ĠLong ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnew Instance ( pointer ). show ( activity . support FragmentManager , Ġ" nick list ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } ĊĊ Ċ class ĠNick list Adapter ( ĊĠĠĠ Ġval Ġcontext : ĠContext , ĊĠĠĠ Ġoverride Ġvar ĠonClick Listener : ĠOn ClickListener < Visual Nick >, Ċ ) Ġ: ĠList Dialog . Adapter < Nick list Adapter . Visual Nick >( context , ĠR . layout . dialog _ copy _ line , ĠR . id . text ) Ġ{ ĊĠĠĠ Ġoverride Ġvar Ġitems : ĠList < Visual Nick > Ġ= Ġempty List () ĊĊĠĠĠ Ġ@ MainThread Ġfun Ġupdate ( n icks : ĠList < Nick >) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġvisual N icks Ġ= Ġn icks . map (:: Visual Nick ) ĊĠĠĠĠĠĠĠ Ġval Ġdiff Ġ= ĠDiff Util . calculate Diff ( Diff Callback ( items , Ġvisual N icks ), Ġtrue ) ĊĠĠĠĠĠĠĠ Ġitems Ġ= Ġvisual N icks ĊĠĠĠĠĠĠĠ Ġdiff . dispatch Updates To ( this ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġinner Ġclass ĠVisual Nick ( nick : ĠNick ) Ġ: ĠDiff Item < Visual Nick >, ĠList Dialog . Item Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġid Ġ= Ġnick . pointer ĊĠĠĠĠĠĠĠ Ġval Ġname : ĠString Ġ= Ġnick . name ĊĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġtext : ĠString Ġ= Ġif Ġ( nick . away ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . getString ( R . string . dialog __ nick list __ user _ away , Ġnick . asString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnick . asString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġis Same Item ( other : ĠVisual Nick ) Ġ= Ġid Ġ== Ġother . id ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġis Same Contents ( other : ĠVisual Nick ) Ġ= Ġtext Ġ== Ġother . text ĊĠĠĠ Ġ} Ċ } Ċ