package Ġcom . skeleton . mvp . community Ċ Ċ / ******************************** Ċ Created Ġby ĠA man deep ĠCh au han ĠĠĠĠ Ġ* Ċ Date Ġ:- Ġ 2 9 / 0 6 / 2 0 2 0 ĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* Ċ Ġ************************* *******/ Ċ Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . text . Editable Ċ import Ġandroid . text . Text Watcher Ċ import Ġandroid . view . KeyEvent Ċ import Ġandroid . view . View Ċ import Ġandroid . view . input method . Editor Info Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . databinding . Data Binding Util Ċ import Ġandroidx . lifecycle . ViewModel Provider Ċ import Ġcom . skeleton . mvp . Build Config Ċ import Ġcom . skeleton . mvp . R Ċ import Ġcom . skeleton . mvp . activity . MainActivity Ċ import Ġcom . skeleton . mvp . constant . F ugu App Constant Ċ import Ġcom . skeleton . mvp . data . db . Common Data Ċ import Ġcom . skeleton . mvp . data . model .` object `. Object Response Ċ import Ġcom . skeleton . mvp . data . model . fc Common . Fc Common Response Ċ import Ġcom . skeleton . mvp . data . model . fc Common . Work spaces Info Ċ import Ġcom . skeleton . mvp . data . model . get Public Info . Data Ċ import Ġcom . skeleton . mvp . data . model . get Public Info . Get Public Info Response Ċ import Ġcom . skeleton . mvp . data . network . ApiError Ċ import Ġcom . skeleton . mvp . data . network . Common Params Ċ import Ġcom . skeleton . mvp . data . network . Response Resolver Ċ import Ġcom . skeleton . mvp . data . network . RestClient Ċ import Ġcom . skeleton . mvp . databinding . Activity Join Community Binding Ċ import Ġcom . skeleton . mvp . socket . Socket Connection . disconnect Socket Ċ import Ġcom . skeleton . mvp . socket . Socket Connection . init Socket Connection Ċ import Ġcom . skeleton . mvp . ui . App Constants Ċ import Ġcom . skeleton . mvp . ui . App Constants .* Ċ import Ġcom . skeleton . mvp . ui . Unique IME IID Ċ import Ġcom . skeleton . mvp . ui . base . Base Activity Ċ import Ġcom . skeleton . mvp . ui . intro . Intro Activity Ċ import Ġcom . skeleton . mvp . util . Log Ċ import Ġcom . skeleton . mvp . utils . F ugu Utils . Companion . getTime Zone Offset Ċ import Ġcom . skeleton . mvp . utils . show Toast Ċ import Ġkotlinx . android . synt hetic . main . activity _ join _ community .* Ċ import Ġjava . util .* Ċ Ċ class ĠJoin Community Activity Ġ: ĠBase Activity (), ĠCommunity Listener Ġ{ ĊĊĠĠĠ Ġlateinit Ġvar Ġworkspace : ĠString ĊĠĠĠ Ġlateinit Ġvar Ġpublic Info : ĠData ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġval Ġbinding Ġ= ĠData Binding Util . set ContentView < Activity Join Community Binding >( this , ĠR . layout . activity _ join _ community ) ĊĠĠĠĠĠĠĠ Ġval ĠviewModel Ġ= ĠViewModel Provider ( this ). get ( Join Community ViewModel :: class . java ) ĊĠĠĠĠĠĠĠ Ġbinding . join Community ViewModel Ġ= ĠviewModel ĊĠĠĠĠĠĠĠ ĠviewModel . community Listener Ġ= Ġthis ĊĠĠĠĠĠĠĠ Ġif Ġ( Intent . ACTION _ VIEW Ġ== Ġintent . action Ġ&& Ġintent . data Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . i (" Intent Data ", Ġintent . data ?. toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsplit Array Ġ= Ġintent . data ?. toString () !!. split ("/") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġworkspace Ġ= Ġsplit Array [ 3 ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshow Loading () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Common Data . get Common Response () Ġ!= Ġnull Ġ&& ĠCommon Data . get Common Response (). data Ġ!= Ġnull Ġ&& ĠCommon Data . get Common Response (). data . userInfo Ġ!= Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRest Client . get Api Interface ( true ). get Public Info ( Common Data . get Common Response (). data . userInfo . accessToken , ĠBuild Config . VERSION _ CODE , ĠF ugu App Constant . ANDROID , Ġworkspace , ĠCommon Data . get Common Response (). data . userInfo . userId ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. enqueue ( object Ġ: ĠResponse Resolver < Get Public Info Response >() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonSuccess ( get Public Info Response : ĠGet Public Info Response ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhandle On Success ( get Public Info Response . data , Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonError ( error : ĠApi Error ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhide Loading () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Error ( error ?. message Ġ?: Ġ"") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Failure ( throwable : ĠThrowable ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhide Loading () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Toast (" Network ĠFailure ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRest Client . get Api Interface ( true ). get Public Info ( Build Config . VERSION _ CODE , ĠF ugu App Constant . ANDROID , Ġworkspace ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. enqueue ( object Ġ: ĠResponse Resolver < Get Public Info Response >() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonSuccess ( get Public Info Response : ĠGet Public Info Response ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhandle On Success ( get Public Info Response . data , Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonError ( error : ĠApi Error ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhide Loading () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Error ( error ?. message Ġ?: Ġ" Some ĠError ĠOcc urred ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Failure ( throwable : ĠThrowable ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhide Loading () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Toast (" Network ĠFailure ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġet Email . setOn Editor ActionListener ( TextView . On Editor ActionListener Ġ{ Ġv : ĠTextView ?, Ġaction Id : ĠInt , Ġevent : ĠKeyEvent ? Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( event Ġ!= Ġnull Ġ&& Ġevent . keyCode Ġ== ĠKeyEvent . KEYCODE _ ENTER Ġ|| Ġaction Id Ġ== ĠEditor Info . IME _ ACTION _ DONE ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbtn Get Invite . perform Click () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġet Email . add TextChanged Listener ( object Ġ: ĠText Watcher Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġbefore TextChanged ( s : ĠCharSequence , Ġstart : ĠInt , Ġcount : ĠInt , Ġafter : ĠInt ) Ġ{} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon TextChanged ( s : ĠCharSequence , Ġstart : ĠInt , Ġbefore : ĠInt , Ġcount : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġregex Str Ġ= Ġ"^ [ 0 - 9 ]* $" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( s . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( s . toString (). matches ( Regex ( regex Str ))) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġet CountryCode . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġet Email . set Padding ( 0 , Ġ 1 8 , Ġ 7 , Ġ 1 8 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġet CountryCode . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġet Email . set Padding ( 4 0 , Ġ 1 8 , Ġ 7 , Ġ 1 8 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( s . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġet CountryCode . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġet Email . set Padding ( 4 0 , Ġ 1 8 , Ġ 7 , Ġ 1 8 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġafter TextChanged ( s : ĠEdit able ) Ġ{} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġhandle On Success ( public Info : ĠData , Ġis User LoggedIn : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġhide Loading () ĊĠĠĠĠĠĠĠ Ġif Ġ( public Info . is User Already Exist ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġwork spaces Info Ġ= ĠCommon Data . get Common Response (). data . workspaces Info ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġwork spaces Info . size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( workspaces Info [ i ]. workspace Ġ== Ġworkspace ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCommon Data . setCurrent Signed In Position ( i ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcommon ResponseData Ġ= ĠCommon Data . get Common Response (). getData () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdisconnect Socket () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinit Socket Connection ( common ResponseData . getUser Info (). get AccessToken (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcommon ResponseData . workspaces Info [ Common Data . getCurrent Signed In Position ()]. en UserId , Ġcommon ResponseData . userInfo . userId , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcommon ResponseData . userInfo . user Channel , Ġ" Switch / Join ĠOpen ĠCommunity ", Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcommon ResponseData . userInfo . push Token ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( this @ Join Community Activity , ĠMainActivity :: class . java ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġintent . flags Ġ= ĠIntent . FLAG _ ACTIVITY _ SINGLE _ TOP Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( intent ) Ċ //// ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfinish Affinity () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( Intent ( this @ Join Community Activity , ĠMainActivity :: class . java )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfinish Affinity () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbreak ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( public Info . public Invite Enabled ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . public Info Ġ= Ġpublic Info ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv Join Green . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( public Info . registered Users Ġ== Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv Members Count . text Ġ= Ġ"${ public Info . registered Users } Ġmember " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv Members Count . text Ġ= Ġ"${ public Info . registered Users } Ġmembers " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv Members Count . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv Community Name . text Ġ= Ġpublic Info . workspace Name ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( is User LoggedIn ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġll Email Phone . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbtn Get Invite . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġll SignIn . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbtn Join Community . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġll Email Phone . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbtn Get Invite . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġll SignIn . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbtn Join Community . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshow Error (" The Ġcommunity Ġis Ġnot Ġopen Ġto Ġpublic .") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġapi Get Invite () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcommon Params Ġ= ĠCommon Params . Builder () ĊĠĠĠĠĠĠĠ Ġcommon Params . add ( WORK SPACE , Ġworkspace ) ĊĠĠĠĠĠĠĠ Ġcommon Params . add (" inv itation _ type ", Ġ" PUBLIC _ INV IT ATION ") ĊĠĠĠĠĠĠĠ Ġif Ġ( et CountryCode . visibility Ġ== ĠView . VISIBLE ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcommon Params . add ( COUNTRY _ CODE , Ġet CountryCode . selected Country Name Code ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcommon Params . add ( CONTACT _ NUMBER , Ġ" +" Ġ+ Ġet CountryCode . selected CountryCode Ġ+ Ġ"-" Ġ+ Ġet Email . text . toString (). trim Ġ{ Ġit Ġ<= Ġ' Ġ' Ġ}) ĊĠĠĠĠĠĠĠ Ġ} Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcommon Params . add ( EMAIL , Ġet Email . text . toString (). trim Ġ{ Ġit Ġ<= Ġ' Ġ' Ġ}) ĊĠĠĠĠĠĠĠ Ġshow Loading () ĊĠĠĠĠĠĠĠ ĠRest Client . get Api Interface ( true ). get Public Invite ( Build Config . VERSION _ CODE , ĠAND ROID , Ġcommon Params . build (). map ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. enqueue ( object Ġ: ĠResponse Resolver < com . skeleton . mvp . data . model . Common Response >() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonSuccess ( common Response : Ġcom . skeleton . mvp . data . model . Common Response ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhide Loading () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Error ( common Response . message ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonError ( error : ĠApi Error ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhide Loading () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow ErrorMessage ( error ?. message ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Failure ( throwable : ĠThrowable ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhide Loading () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġshow Error ( errorMessage : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġshow ErrorMessage ( errorMessage , Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis @ Join Community Activity . finish () ĊĠĠĠĠĠĠĠ Ġ}, Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis @ Join Community Activity . finish () ĊĠĠĠĠĠĠĠ Ġ}, Ġ" Ok ", Ġ" Cancel ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Join () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcommon Params Ġ= ĠCommon Params . Builder () ĊĠĠĠĠĠĠĠ Ġcommon Params . add ( DEVICE _ ID , ĠUnique IME IID . get Unique IME I Id ( this @ Join Community Activity )) ĊĠĠĠĠĠĠĠ Ġcommon Params . add ( DEVICE _ TYPE , ĠF ugu App Constant . ANDROID _ USER ) ĊĠĠĠĠĠĠĠ Ġcommon Params . add ( DEVICE _ DETAILS , Ġcom . skeleton . mvp . f ug ud atabase . Common Data . device Details ( this @ Join Community Activity )) ĊĠĠĠĠĠĠĠ Ġcommon Params . add (" email _ token ", Ġpublic Info . email Token ) ĊĠĠĠĠĠĠĠ Ġcommon Params . add (" inv itation _ type ", Ġ" AL READY _ INV IT ED ") ĊĠĠĠĠĠĠĠ Ġshow Loading () ĊĠĠĠĠĠĠĠ ĠRest Client . get Api Interface ( true ). join Workspace ( com . skeleton . mvp . data . db . Common Data . get Common Response (). getData (). getUser Info (). get AccessToken (), ĠBuild Config . VERSION _ CODE , ĠAND ROID , Ġcommon Params . build (). map ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. enqueue ( object Ġ: ĠResponse Resolver < Object Response >() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonSuccess ( join Response : ĠObject Response ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhide Loading () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġinfo Ġ= ĠArrayList < Work spaces Info >() ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinfo . addAll ( Common Data . get Common Response (). getData (). workspaces Info ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinfo . add ( join Response !!. data ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinfo [ info . size Ġ- Ġ 1 ]. workspace Name Ġ= Ġpublic Info . workspace Name ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfc Common Response Ġ= ĠCommon Data . get Common Response () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfc Common Response . getData (). workspaces Info Ġ= Ġinfo ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCommon Data . set Common Response ( fc Common Response ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcurrent Position Ġ= ĠCommon Data . get Common Response (). getData (). workspaces Info . size Ġ- Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCommon Data . setCurrent Signed In Position ( current Position ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcommon ResponseData Ġ= ĠCommon Data . get Common Response (). getData () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdisconnect Socket () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinit Socket Connection ( common ResponseData . getUser Info (). get AccessToken (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcommon ResponseData . workspaces Info [ current Position ]. en UserId , Ġcommon ResponseData . userInfo . userId , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcommon ResponseData . userInfo . user Channel , Ġ" Join ĠOpen ĠCommunity ", Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcommon ResponseData . userInfo . push Token ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtoken Login Params Ġ= ĠCommon Params . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtoken Login Params . add ( TOKEN , ĠCommon Data . getF cm Token ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtoken Login Params . add ( F ugu App Constant . DEVICE _ ID , ĠUnique IME IID . get Unique IME I Id ( this @ Join Community Activity )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtoken Login Params . add ( DOMAIN , Ġcom . skeleton . mvp . f ug ud atabase . Common Data . get Domain ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġworkspace Ids Ġ= ĠArrayList < Int ?> () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin ĠCommon Data . get Common Response (). getData (). workspaces Info . indices ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġworkspace Ids . add ( Common Data . get Common Response (). getData (). workspaces Info [ i ]. workspace Id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtoken Login Params . add (" user _ workspace _ ids ", Ġworkspace Ids ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtoken Login Params . add (" time _ zone ", Ġget TimeZone Offset ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRest Client . get Api Interface ( true ). accessToken Login ( fc Common Response . getData (). getUser Info (). get AccessToken (), ĠBuild Config . VERSION _ CODE , ĠAND ROID , Ġtoken Login Params . build (). map ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. enqueue ( object Ġ: ĠResponse Resolver < Fc Common Response >() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonSuccess ( fc Common Response : ĠF c Common Response ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis @ Join Community Activity . hide Loading () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCommon Data . set Common Response ( fc Common Response ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġfc Common Response . data . workspaces Info . size Ġ- Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( fc Common Response . data . workspaces Info [ i ]. workspace Id Ġ== Ġjoin Response . data . workspace Id ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCommon Data . setCurrent Signed In Position ( i ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbreak ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis @ Join Community Activity . init Dialog () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis @ Join Community Activity . finish Affinity () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis @ Join Community Activity . startActivity ( Intent ( this @ Join Community Activity , ĠMainActivity :: class . java )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis @ Join Community Activity . override Pending Transition ( R . anim . left _ in , ĠR . anim . right _ out ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonError ( error : ĠApi Error ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis @ Join Community Activity . hide Loading () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow ErrorMessage ( error . message ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Failure ( throwable : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis @ Join Community Activity . hide Loading () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonError ( error : ĠApi Error ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhide Loading () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow ErrorMessage ( error ?. message ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Failure ( throwable : ĠThrowable ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhide Loading () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Toast (" Network ĠFailure ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Get Invite () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( et Email . text . toString (). isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapi Get Invite () ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshow ErrorMessage ( R . string . error _ email _ phon eno ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon SignIn () Ġ{ ĊĠĠĠĠĠĠĠ ĠstartActivity ( Intent ( this @ Join Community Activity , ĠIntro Activity :: class . java )) ĊĠĠĠ Ġ} Ċ Ċ } Ċ