package Ġjp . j ug g ler . sub way to oter . action čĊč Ċ import Ġjp . j ug g ler . sub way to oter . Act Main č Ċ import Ġjp . j ug g ler . sub way to oter . R č Ċ import Ġjp . j ug g ler . sub way to oter . act main . addColumn č Ċ import Ġjp . j ug g ler . sub way to oter . api . entity . EntityId č Ċ import Ġjp . j ug g ler . sub way to oter . api . entity . Host č Ċ import Ġjp . j ug g ler . sub way to oter . api . entity . To ot Account č Ċ import Ġjp . j ug g ler . sub way to oter . api . entity . To ot Status č Ċ import Ġjp . j ug g ler . sub way to oter . api . run Api Task č Ċ import Ġjp . j ug g ler . sub way to oter . api . sync Status č Ċ import Ġjp . j ug g ler . sub way to oter . column . ColumnType č Ċ import Ġjp . j ug g ler . sub way to oter . dialog . pick Account č Ċ import Ġjp . j ug g ler . sub way to oter . table . Saved Account č Ċ import Ġjp . j ug g ler . sub way to oter . util . match Host č Ċ import Ġjp . j ug g ler . util . launch Main č Ċ import Ġjp . j ug g ler . util . show Toast č Ċ import Ġjava . util .* čĊč Ċ // ĠãĤ¢ ãĤ«ãĤ¦ãĥ³ãĥĪ ãĤĴ éģ¸ ãĤĵ ãģ§ ãĤ¿ãĤ¤ ãĥł ãĥ© ãĤ¤ãĥ³ ãĤ« ãĥ© ãĥł ãĤĴ è¿½åĬł č Ċ fun ĠAct Main . timeline ( čĊĠĠĠ Ġpos : ĠInt , čĊĠĠĠ Ġtype : ĠColumn Type , čĊĠĠĠ Ġargs : ĠArray < out ĠAny > Ġ= Ġempty Array (), č Ċ ) Ġ{ čĊĠĠĠ Ġlaunch Main Ġ{ čĊĠĠĠĠĠĠĠ Ġpick Account ( čĊĠĠĠĠĠĠĠĠĠĠĠ Ġb Allow Pseudo Ġ= Ġtype . b Allow Pseudo , čĊĠĠĠĠĠĠĠĠĠĠĠ Ġb Allow Miss key Ġ= Ġtype . b Allow Miss key , čĊĠĠĠĠĠĠĠĠĠĠĠ Ġb Allow M ast od on Ġ= Ġtype . b Allow M ast od on , čĊĠĠĠĠĠĠĠĠĠĠĠ Ġb Auto Ġ= Ġtrue , čĊĠĠĠĠĠĠĠĠĠĠĠ Ġmessage Ġ= ĠgetString ( R . string . account _ picker _ add _ timeline _ of , Ġtype . name 1 ( application Context )) čĊĠĠĠĠĠĠĠ Ġ) ?. let Ġ{ Ġaccount Ġ-> čĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( type ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠColumn Type . PROFILE Ġ-> čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġaccount . login Account ?. id ?. let Ġ{ Ġadd Column ( pos , Ġaccount , Ġtype , Ġit ) Ġ} čĊčĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠColumn Type . PROFILE _ DIRECTORY Ġ-> čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Column ( pos , Ġaccount , Ġtype , Ġaccount . api Host ) čĊčĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġadd Column ( pos , Ġaccount , Ġtype , Ġ* args ) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠ Ġ} č Ċ } čĊč Ċ // ĠãĤ¢ ãĤ«ãĤ¦ãĥ³ãĥĪ éģ¸æĬŀ ä»ĺ ãģį ãģ§ ãĤ¿ãĤ¤ ãĥł ãĥ© ãĤ¤ãĥ³ ãĤĴ è¿½åĬł č Ċ // Ġ ãģĿãģ® éļ Ľ ãģ« ãĤ¢ ãĤ«ãĤ¦ãĥ³ãĥĪ ãĤĴ ãĥ© ãĥł ãĥĢ å¼ı ãģ§ ãĥķãĤ£ ãĥ« ãĤ¿ ãģĻãĤĭ č Ċ // fun ĠAct Main . timeline With Filter ( č Ċ // ĠĠĠ Ġpos : ĠInt , č Ċ // ĠĠĠ Ġtype : ĠColumn Type , č Ċ // ĠĠĠ Ġargs : ĠArray < out ĠAny > Ġ= Ġempty Array (), č Ċ // ĠĠĠ Ġfilter : Ġsuspend Ġ( Saved Account ) Ġ-> ĠBoolean č Ċ // ) Ġ{ č Ċ // ĠĠĠ Ġlaunch Main Ġ{ č Ċ // ĠĠĠĠĠĠĠ Ġval Ġaccount List Ġ= Ġaccount List With Filter Ġ{ Ġ_, Ġa Ġ-> č Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ{ č Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġa . is Pseudo Ġ&& Ġ! type . b Allow Pseudo Ġ-> Ġfalse č Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġa . is Miss key Ġ&& Ġ! type . b Allow Miss key Ġ-> Ġfalse č Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġa . is M ast od on Ġ&& Ġ! type . b Allow M ast od on Ġ-> Ġfalse č Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġfilter ( a ) č Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ} č Ċ // ĠĠĠĠĠĠĠ Ġ} ?. to Mutable List () Ġ?: Ġreturn @ launch Main č Ċ // č Ċ // ĠĠĠĠĠĠĠ Ġpick Account ( č Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġaccount List Arg Ġ= Ġaccount List , č Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġb Auto Ġ= Ġtrue , č Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġmessage Ġ= ĠgetString ( č Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . string . account _ picker _ add _ timeline _ of , č Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtype . name 1 ( application Context ) č Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ) č Ċ // ĠĠĠĠĠĠĠ Ġ) ?. let Ġ{ Ġai Ġ-> č Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( type ) Ġ{ č Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠColumn Type . PROFILE Ġ-> č Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġai . login Account ?. id ?. let Ġ{ Ġadd Column ( pos , Ġai , Ġtype , Ġit ) Ġ} č Ċ // č Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠColumn Type . PROFILE _ DIRECTORY Ġ-> č Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Column ( pos , Ġai , Ġtype , Ġai . api Host ) č Ċ // č Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> č Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Column ( pos , Ġai , Ġtype , Ġ* args ) č Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ} č Ċ // ĠĠĠĠĠĠĠ Ġ} č Ċ // ĠĠĠ Ġ} č Ċ //} čĊč Ċ // ĠæĮĩå®ļ ãĤ¢ ãĤ«ãĤ¦ãĥ³ãĥĪ ãģ§ æĮĩå®ļ ãĤ¿ ãĥ³ãĤ¹ ãģ® ãĥī ãĥ¡ ãĤ¤ãĥ³ ãĤ¿ãĤ¤ ãĥł ãĥ© ãĤ¤ãĥ³ ãĤĴ éĸĭ ãģı č Ċ // Ġhttps :// fed ib ird . com /@ no ell abo / 1 0 3 2 6 6 8 1 4 1 6 0 1 1 7 3 9 7 č Ċ fun ĠAct Main . timeline Domain ( čĊĠĠĠ Ġpos : ĠInt , čĊĠĠĠ Ġaccess Info : ĠSaved Account , čĊĠĠĠ Ġhost : ĠHost , č Ċ ) Ġ= Ġadd Column ( pos , Ġaccess Info , ĠColumn Type . DOMAIN _ TIME LINE , Ġhost ) čĊč Ċ // ĠæĮĩå®ļ ãĤ¿ ãĥ³ãĤ¹ ãģ® ãĥŃ ãĥ¼ãĤ « ãĥ« ãĤ¿ãĤ¤ ãĥł ãĥ© ãĤ¤ãĥ³ ãĤĴ éĸĭ ãģı č Ċ fun ĠAct Main . timeline Local ( čĊĠĠĠ Ġpos : ĠInt , čĊĠĠĠ Ġhost : ĠHost , č Ċ ) Ġ{ čĊĠĠĠ Ġlaunch Main Ġ{ čĊĠĠĠĠĠĠĠ Ġ// ĠæĮĩå®ļ ãĤ¿ ãĥ³ãĤ¹ ãģ® ãĤ¢ ãĤ«ãĤ¦ãĥ³ãĥĪ ãĤĴ æĮģ ãģ£ãģ¦ ãĤĭ ãģĭ ï¼Ł čĊĠĠĠĠĠĠĠ Ġval Ġaccount List Ġ= ĠArrayList < Saved Account >() čĊĠĠĠĠĠĠĠ Ġfor Ġ( a Ġin ĠSaved Account . load Account List ( application Context )) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( a . match Host ( host )) Ġaccount List . add ( a ) čĊĠĠĠĠĠĠĠ Ġ} čĊčĊĠĠĠĠĠĠĠ Ġif Ġ( account List . isEmpty ()) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ æĮģ ãģ£ãģ¦ ãģªãģĦ ãģª ãĤī çĸĳ ä¼¼ ãĤ¢ ãĤ«ãĤ¦ãĥ³ãĥĪ ãĤĴ è¿½åĬł ãģĻãĤĭ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Pseudo Account ( host )?. let Ġ{ Ġai Ġ-> čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Column ( pos , Ġai , ĠColumn Type . LOCAL ) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ æĮģ ãģ£ãģ¦ ãĤĭ ãģª ãĤī ãĤ¢ ãĤ«ãĤ¦ãĥ³ãĥĪ ãĤĴ éģ¸ ãĤĵ ãģ§ éĸĭ ãģı čĊĠĠĠĠĠĠĠĠĠĠĠ ĠSaved Account . sort ( account List ) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġpick Account ( čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġb Allow Pseudo Ġ= Ġtrue , čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġb Auto Ġ= Ġfalse , čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmessage Ġ= ĠgetString ( R . string . account _ picker _ add _ timeline _ of , Ġhost ), čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġaccount List Arg Ġ= Ġaccount List čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ?. let Ġ{ Ġadd Column ( pos , Ġit , ĠColumn Type . LOCAL ) Ġ} čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠ Ġ} č Ċ } čĊč Ċ private Ġfun ĠAct Main . timeline Around ( čĊĠĠĠ Ġaccess Info : ĠSaved Account , čĊĠĠĠ Ġpos : ĠInt , čĊĠĠĠ Ġid : ĠEntity Id , čĊĠĠĠ Ġtype : ĠColumn Type , č Ċ ) Ġ= Ġadd Column ( pos , Ġaccess Info , Ġtype , Ġid ) čĊč Ċ // ĠæĬ ķ ç¨ ¿ ãĤĴ åĲĮ æľŁ ãģĹãģ¦ status Id ãĤĴ èª¿ ãģ¹ ãģ¦ ãģĭãĤī æĮĩå®ļ ãĤ¢ ãĤ«ãĤ¦ãĥ³ãĥĪ ãģ§ ãĤ¿ãĤ¤ ãĥł ãĥ© ãĤ¤ãĥ³ ãĤĴ éĸĭ ãģı č Ċ private Ġfun ĠAct Main . timeline Around By Status ( čĊĠĠĠ Ġaccess Info : ĠSaved Account , čĊĠĠĠ Ġpos : ĠInt , čĊĠĠĠ Ġstatus : ĠT oot Status , čĊĠĠĠ Ġtype : ĠColumn Type , č Ċ ) Ġ{ čĊĠĠĠ Ġlaunch Main Ġ{ čĊĠĠĠĠĠĠĠ Ġvar Ġresult Status : ĠT oot Status ? Ġ= Ġnull čĊĠĠĠĠĠĠĠ Ġrun Api Task ( access Info ) Ġ{ Ġclient Ġ-> čĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpair Ġ= Ġclient . sync Status ( access Info , Ġstatus ) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult Status Ġ= Ġpair . second čĊĠĠĠĠĠĠĠĠĠĠĠ Ġpair . first čĊĠĠĠĠĠĠĠ Ġ} ?. let Ġ{ Ġresult Ġ-> čĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( val Ġlocal Status Ġ= Ġresult Status ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull Ġ-> Ġshow Toast ( true , Ġresult . error ) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġtimeline Around ( access Info , Ġpos , Ġlocal Status . id , Ġtype ) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠ Ġ} č Ċ } čĊč Ċ // ĠæĮĩå®ļ ãĤ¿ ãĥ³ãĤ¹ ãģ® æĮĩå®ļ æĬķ ç¨ ¿ ä»ĺ è¿ĳ ãģ® ãĤ¿ãĤ¤ ãĥł ãĥ© ãĤ¤ãĥ³ ãĤĴ éĸĭ ãģı ãĢĤ ãĤ¢ ãĤ«ãĤ¦ãĥ³ãĥĪ éģ¸æĬŀ ãģĤãĤĬ ãĢĤ č Ċ fun ĠAct Main . timeline Around By Status Another Account ( čĊĠĠĠ Ġaccess Info : ĠSaved Account , čĊĠĠĠ Ġpos : ĠInt , čĊĠĠĠ Ġhost : ĠHost ?, čĊĠĠĠ Ġstatus : ĠT oot Status ?, čĊĠĠĠ Ġtype : ĠColumn Type , čĊĠĠĠ Ġallow Pseudo : ĠBoolean Ġ= Ġtrue , č Ċ ) Ġ{ čĊĠĠĠ Ġhost ?. valid () Ġ?: Ġreturn čĊĠĠĠ Ġstatus Ġ?: Ġreturn čĊčĊĠĠĠ Ġ// Ġ åĪ©çĶ¨ åı¯èĥ½ ãģª ãĤ¢ ãĤ«ãĤ¦ãĥ³ãĥĪ ãĤĴ åĪĹ æĮ Ļ ãģĻãĤĭ čĊĠĠĠ Ġval Ġaccount List 1 Ġ= ĠArrayList < Saved Account >() Ġ// Ġ éĸ ² è¦§ ãĤ¢ ãĤ«ãĤ¦ãĥ³ãĥĪ ãģ¨ ãĥ Ľ ãĤ¹ãĥĪ ãģĮ åĲĮ ãģĺ čĊĠĠĠ Ġval Ġaccount List 2 Ġ= ĠArrayList < Saved Account >() Ġ// Ġ ãģĿãģ® ä»ĸ å®Ł ãĤ¢ ãĤ«ãĤ¦ãĥ³ãĥĪ čĊĠĠĠ Ġlabel @ Ġfor Ġ( a Ġin ĠSaved Account . load Account List ( this )) Ġ{ čĊĠĠĠĠĠĠĠ Ġ// ĠM iss key ãĤ¢ ãĤ«ãĤ¦ãĥ³ãĥĪ ãģ¯ ãĤ¹ãĥĨ ãĥ¼ãĤ¿ ãĤ¹ ãģ® åĲĮ æľŁ ãģĮ åĩºæĿ¥ ãģªãģĦ ãģ®ãģ§ éģ¸æĬŀ ãģķ ãģĽ ãģªãģĦ čĊĠĠĠĠĠĠĠ Ġif Ġ( a . is NA Ġ|| Ġa . is Miss key ) Ġcontinue čĊĠĠĠĠĠĠĠ Ġwhen Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ éĸ ² è¦§ ãĤ¢ ãĤ«ãĤ¦ãĥ³ãĥĪ ãģ¨ ãĥ Ľ ãĤ¹ãĥĪ åĲį ãģĮ åĲĮ ãģĺ ãģª ãĤī ãĤ¹ãĥĨ ãĥ¼ãĤ¿ ãĤ¹ ID ãģ® å¤ī æıĽ ãģĮ å¿ħè¦ģ ãģªãģĦ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġa . match Host ( access Info ) Ġ-> Ġif Ġ( allow Pseudo Ġ|| Ġ! a . is Pseudo ) Ġaccount List 1 . add ( a ) čĊčĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ å®Ł ãĤ¢ ãĤ«ãĤ¦ãĥ³ãĥĪ ãģª ãĤī ãĤ¹ãĥĨ ãĥ¼ãĤ¿ ãĤ¹ ãĤĴ åĲĮ æľŁ ãģĹãģ¦ åĲĮ æĻĤéĸĵ å¸ ¯ ãģ® TL ãĤĴ è¦ĭ ãĤĮãĤĭ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ! a . is Pseudo Ġ-> Ġaccount List 2 . add ( a ) čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠ Ġ} čĊĠĠĠ ĠSaved Account . sort ( account List 1 ) čĊĠĠĠ ĠSaved Account . sort ( account List 2 ) čĊĠĠĠ Ġaccount List 1 . addAll ( account List 2 ) čĊčĊĠĠĠ Ġif Ġ( account List 1 . isEmpty ()) Ġ{ čĊĠĠĠĠĠĠĠ Ġshow Toast ( false , ĠR . string . missing _ available _ account ) čĊĠĠĠĠĠĠĠ Ġreturn čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġlaunch Main Ġ{ čĊĠĠĠĠĠĠĠ Ġpick Account ( čĊĠĠĠĠĠĠĠĠĠĠĠ Ġb Auto Ġ= Ġtrue , čĊĠĠĠĠĠĠĠĠĠĠĠ Ġmessage Ġ= Ġ" select Ġaccount Ġto Ġread Ġtimeline ", čĊĠĠĠĠĠĠĠĠĠĠĠ Ġaccount List Arg Ġ= Ġaccount List 1 čĊĠĠĠĠĠĠĠ Ġ) ?. let Ġ{ Ġai Ġ-> čĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! ai . is NA Ġ&& Ġai . match Host ( access Info )) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtimeline Around ( ai , Ġpos , Ġstatus . id , Ġtype ) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtimeline Around By Status ( ai , Ġpos , Ġstatus , Ġtype ) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠ Ġ} č Ċ } čĊč Ċ fun ĠAct Main . click Around Account TL ( access Info : ĠSaved Account , Ġpos : ĠInt , Ġwho : ĠT oot Account , Ġstatus : ĠT oot Status ?) Ġ= čĊĠĠĠ Ġtimeline Around By Status Another Account ( čĊĠĠĠĠĠĠĠ Ġaccess Info , čĊĠĠĠĠĠĠĠ Ġpos , čĊĠĠĠĠĠĠĠ Ġwho . api Host , čĊĠĠĠĠĠĠĠ Ġstatus , čĊĠĠĠĠĠĠĠ ĠColumn Type . ACCOUNT _ AR O UND , Ġallow Pseudo Ġ= Ġfalse čĊĠĠĠ Ġ) čĊč Ċ fun ĠAct Main . click Around L TL ( access Info : ĠSaved Account , Ġpos : ĠInt , Ġwho : ĠT oot Account , Ġstatus : ĠT oot Status ?) Ġ= čĊĠĠĠ Ġtimeline Around By Status Another Account ( čĊĠĠĠĠĠĠĠ Ġaccess Info , čĊĠĠĠĠĠĠĠ Ġpos , čĊĠĠĠĠĠĠĠ Ġwho . api Host , čĊĠĠĠĠĠĠĠ Ġstatus , čĊĠĠĠĠĠĠĠ ĠColumn Type . LOCAL _ AR O UND čĊĠĠĠ Ġ) čĊč Ċ fun ĠAct Main . click Around FT L ( access Info : ĠSaved Account , Ġpos : ĠInt , Ġwho : ĠT oot Account , Ġstatus : ĠT oot Status ?) Ġ= čĊĠĠĠ Ġtimeline Around By Status Another Account ( čĊĠĠĠĠĠĠĠ Ġaccess Info , čĊĠĠĠĠĠĠĠ Ġpos , čĊĠĠĠĠĠĠĠ Ġwho . api Host , čĊĠĠĠĠĠĠĠ Ġstatus , čĊĠĠĠĠĠĠĠ ĠColumn Type . F ED ER ATED _ AR O UND čĊĠĠĠ Ġ) čĊ