package Ġchat . sphinx . on board _ ready . ui Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroidx . lifecycle . viewModel Scope Ċ import Ġchat . sphinx . concept _ network _ query _ chat . Network Query Chat Ċ import Ġchat . sphinx . concept _ network _ query _ chat . model . Tri be Dto Ċ import Ġchat . sphinx . concept _ network _ query _ invite . Network Query Invite Ċ import Ġchat . sphinx . concept _ repository _ chat . Chat Repository Ċ import Ġchat . sphinx . concept _ repository _ contact . Contact Repository Ċ import Ġchat . sphinx . concept _ repository _ lightning . Lightning Repository Ċ import Ġchat . sphinx . kotlin _ response . Load Response Ċ import Ġchat . sphinx . kotlin _ response . Response Ċ import Ġchat . sphinx . kotlin _ response . ResponseError Ċ import Ġchat . sphinx . on board _ ready . navigation . On Board Ready Navigator Ċ import Ġchat . sphinx . wrapper _ chat . Chat Host Ċ import Ġchat . sphinx . wrapper _ common . chat . Chat UUID Ċ import Ġchat . sphinx . wrapper _ common . lightning . Lightning Node PubKey Ċ import Ġchat . sphinx . wrapper _ common . lightning . Lightning Route Hint Ċ import Ġchat . sphinx . wrapper _ common . tri be . to Tri be Join Link Ċ import Ġchat . sphinx . wrapper _ contact . Contact Alias Ċ import Ġchat . sphinx . wrapper _ lightning . Node Balance All Ċ import Ġdagger . h ilt . android . lifecycle . H ilt ViewModel Ċ import Ġio . mat the wn el son . android _ feature _ view model . Side Effect ViewModel Ċ import Ġio . mat the wn el son . android _ feature _ view model . submit Side Effect Ċ import Ġio . mat the wn el son . concept _ coroutines . Coroutine Dispatch ers Ċ import Ġkotlinx . coroutines . flow . Flow Ċ import Ġkotlinx . coroutines . flow . collect Ċ import Ġkotlinx . coroutines . launch Ċ import Ġjavax . annotation . meta . Ex haustive Ċ import Ġjavax . inject . Inject Ċ Ċ @ H ilt ViewModel Ċ internal Ġclass ĠOn Board Ready ViewModel Ġ@ Inject Ġconstructor ( ĊĠĠĠ Ġdispatch ers : ĠCor outine Dispatch ers , ĊĠĠĠ Ġprivate Ġval Ġnavigator : ĠOn Board Ready Navigator , ĊĠĠĠ Ġprivate Ġval Ġcontact Repository : ĠContact Repository , ĊĠĠĠ Ġprivate Ġval Ġlight ning Repository : ĠLight ning Repository , ĊĠĠĠ Ġprivate Ġval Ġchat Repository : ĠChat Repository , ĊĠĠĠ Ġprivate Ġval Ġnetwork Query Chat : ĠNetwork Query Chat , ĊĠĠĠ Ġprivate Ġval Ġnetwork Query Invite : ĠNetwork Query Invite , Ċ ): ĠSide Effect ViewModel < ĊĠĠĠĠĠĠĠ ĠContext , ĊĠĠĠĠĠĠĠ ĠOn Board Ready Side Effect , ĊĠĠĠĠĠĠĠ ĠOn Board Ready ViewState ĊĠĠĠĠĠĠĠ Ġ>( dispatch ers , ĠOn Board Ready ViewState . Idle ) Ċ { ĊĠĠĠ Ġfun Ġsave Inv iter And Finish ( nickname : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpub key : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġroute Hint : ĠString ?, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinvite String : ĠString ? Ġ= Ġnull ) Ġ{ ĊĊĠĠĠĠĠĠĠ ĠviewModel Scope . launch ( main Immediate ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġalias Ġ= ĠContact Alias ( nickname ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpub Key Ġ= ĠLight ning Node PubKey ( pubkey ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġroute Hint Ġ= Ġroute Hint ?. let Ġ{ ĠLight ning Route Hint ( it ) Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontact Repository . create Contact ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġalias , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpub Key , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġroute Hint ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). collect Ġ{ Ġload Response Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Ex haustive ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( load Response ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLoad Response . Loading Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview State Container . update ViewState ( On Board Ready ViewState . Saving ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠResponse . Error Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview State Container . update ViewState ( On Board Ready ViewState . Error ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsubmit Side Effect ( On Board Ready Side Effect . Create Inv iter Failed ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠResponse . Success Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( invite String Ġ!= Ġnull Ġ&& Ġinvite String . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfinish Invite ( invite String ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġload And Join Default Tri be Data () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġfinish Invite ( invite String : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ ĠviewModel Scope . launch ( main Immediate ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnetwork Query Invite . finish Invite ( invite String ). collect Ġ{ Ġload Response Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( load Response ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠLoad Response . Loading Ġ-> Ġ{} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠResponse . Error Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġload And Join Default Tri be Data () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠResponse . Success Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġload And Join Default Tri be Data () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġload And Join Default Tri be Data () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġplanet S phinx Tri be Query Ġ= Ġ" sphinx . chat :// ? action = tri be & uuid = X 3 I WA i AW 5 v N rt OX 5 TLE Jz q NW Wr 3 rr Ua X U wa q sf UX RM GN F 7 I WO H ro TG b D 4 Gn 2 _ r Fu R Z cs ER 0 t Z kr Lw 3 s M nz j 4 R FA k _ sx 0 & host = trib es . sphinx . chat " ĊĊĠĠĠĠĠĠĠ Ġplanet S phinx Tri be Query . to Tri be Join Link ()?. let Ġ{ Ġtri be Join Link Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel Scope . launch ( main Immediate ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnetwork Query Chat . get Tri be Info ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠChat Host ( tri be Join Link . tri be Host ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠChat UUID ( tri be Join Link . tri be UUID ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). collect Ġ{ Ġload Response Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( load Response ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠLoad Response . Loading Ġ-> Ġ{} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠResponse . Error Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgo To Dashboard () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠResponse . Success Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( load Response . value Ġis ĠTri be Dto ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtri be Info Ġ= Ġload Response . value ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtri be Info ?. set ( tri be Join Link . tri be Host , Ġtri be Join Link . tri be UUID ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġjoin Default Tri be ( tri be Info ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgo To Dashboard () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġ?: Ġrun Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgo To Dashboard () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġjoin Default Tri be ( tri be Info : ĠTri be Dto ) Ġ{ ĊĠĠĠĠĠĠĠ ĠviewModel Scope . launch ( main Immediate ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtri be Info . amount Ġ= Ġtri be Info . price _ to _ join ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġchat Repository . join Tri be ( tri be Info ). collect Ġ{ Ġload Response Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Ex haustive ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen ( load Response ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLoad Response . Loading Ġ-> Ġ{} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠResponse . Error Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgo To Dashboard () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠResponse . Success Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgo To Dashboard () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġgo To Dashboard () Ġ{ ĊĠĠĠĠĠĠĠ ĠviewModel Scope . launch ( main Immediate ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnavigator . to Dashboard Screen () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġsuspend Ġfun Ġget Balances (): ĠFlow < Load Response < Node Balance All , ĠResponse Error >> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġlight ning Repository . get Account Balance All () ĊĠĠĠ Ġ} Ċ } Ċ