Skip to content

Commit

Permalink
Default join to Planet Sphinx removed
Browse files Browse the repository at this point in the history
  • Loading branch information
tomastiminskas committed Sep 5, 2023
1 parent 636ad1d commit 2341e4e
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 62 deletions.
2 changes: 0 additions & 2 deletions sphinx/screens/onboard/onboard-ready/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -36,11 +36,9 @@ dependencies {

// Sphinx
implementation project(path: ':sphinx:activity:insetter-activity')
implementation project(path: ':sphinx:application:data:concepts:repositories:concept-repository-chat')
implementation project(path: ':sphinx:application:data:concepts:repositories:concept-repository-contact')
implementation project(path: ':sphinx:application:data:concepts:repositories:concept-repository-lightning')

implementation project(path: ':sphinx:application:network:concepts:queries:concept-network-query-chat')
implementation project(path: ':sphinx:application:network:concepts:queries:concept-network-query-invite')

api project(path: ':sphinx:screens:onboard:onboard-common')
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ internal class OnBoardReadyFragment: SideEffectFragment<
} else if (inviteString != null){
viewModel.finishInvite(inviteString)
} else {
viewModel.loadAndJoinDefaultTribeData()
viewModel.finishSignup()
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,22 +2,16 @@ package chat.sphinx.onboard_ready.ui

import android.content.Context
import androidx.lifecycle.viewModelScope
import chat.sphinx.concept_network_query_chat.NetworkQueryChat
import chat.sphinx.concept_network_query_chat.model.TribeDto
import chat.sphinx.concept_network_query_invite.NetworkQueryInvite
import chat.sphinx.concept_repository_chat.ChatRepository
import chat.sphinx.concept_repository_contact.ContactRepository
import chat.sphinx.concept_repository_lightning.LightningRepository
import chat.sphinx.kotlin_response.LoadResponse
import chat.sphinx.kotlin_response.Response
import chat.sphinx.kotlin_response.ResponseError
import chat.sphinx.onboard_common.OnBoardStepHandler
import chat.sphinx.onboard_ready.navigation.OnBoardReadyNavigator
import chat.sphinx.wrapper_chat.ChatHost
import chat.sphinx.wrapper_common.chat.ChatUUID
import chat.sphinx.wrapper_common.lightning.LightningNodePubKey
import chat.sphinx.wrapper_common.lightning.toLightningRouteHint
import chat.sphinx.wrapper_common.tribe.toTribeJoinLink
import chat.sphinx.wrapper_contact.ContactAlias
import chat.sphinx.wrapper_lightning.NodeBalanceAll
import dagger.hilt.android.lifecycle.HiltViewModel
Expand All @@ -37,9 +31,6 @@ internal class OnBoardReadyViewModel @Inject constructor(

private val contactRepository: ContactRepository,
private val lightningRepository: LightningRepository,
private val chatRepository: ChatRepository,

private val networkQueryChat: NetworkQueryChat,
private val networkQueryInvite: NetworkQueryInvite,

private val onBoardStepHandler: OnBoardStepHandler,
Expand All @@ -50,17 +41,12 @@ internal class OnBoardReadyViewModel @Inject constructor(
>(dispatchers, OnBoardReadyViewState.Idle)
{

companion object {
private const val PLANET_SPHINX_TRIBE = "sphinx.chat://?action=tribe&uuid=X3IWAiAW5vNrtOX5TLEJzqNWWr3rrUaXUwaqsfUXRMGNF7IWOHroTGbD4Gn2_rFuRZcsER0tZkrLw3sMnzj4RFAk_sx0&host=tribes.sphinx.chat"
}

fun saveInviterAndFinish(
nickname: String,
pubkey: String,
routeHint: String?,
inviteString: String? = null
) {

viewModelScope.launch(mainImmediate) {
val alias = ContactAlias(nickname)
val pubKey = LightningNodePubKey(pubkey)
Expand All @@ -84,7 +70,7 @@ internal class OnBoardReadyViewModel @Inject constructor(
if (inviteString != null && inviteString.isNotEmpty()) {
finishInvite(inviteString)
} else {
loadAndJoinDefaultTribeData()
finishSignup()
}
}
}
Expand All @@ -99,59 +85,19 @@ internal class OnBoardReadyViewModel @Inject constructor(
is LoadResponse.Loading -> {}

is Response.Error -> {
loadAndJoinDefaultTribeData()
finishSignup()
}
is Response.Success -> {
loadAndJoinDefaultTribeData()
finishSignup()
}
}
}
}
}

fun loadAndJoinDefaultTribeData() {
viewModelScope.launch(mainImmediate) {
PLANET_SPHINX_TRIBE.toTribeJoinLink()?.let { tribeJoinLink ->

networkQueryChat.getTribeInfo(
ChatHost(tribeJoinLink.tribeHost),
ChatUUID(tribeJoinLink.tribeUUID)
).collect { loadResponse ->
when (loadResponse) {
is LoadResponse.Loading -> {}
is Response.Error -> {
// TODO: Fix network call and handle error properly
goToDashboard()
}
is Response.Success -> {
val tribeInfo = loadResponse.value
tribeInfo.set(tribeJoinLink.tribeHost, tribeJoinLink.tribeUUID)
joinDefaultTribe(tribeInfo)
}
}
}

} ?: goToDashboard()
}
}

private fun joinDefaultTribe(tribeInfo: TribeDto) {
fun finishSignup() {
viewModelScope.launch(mainImmediate) {
tribeInfo.amount = tribeInfo.price_to_join

chatRepository.joinTribe(tribeInfo).collect { loadResponse ->
@Exhaustive
when(loadResponse) {
LoadResponse.Loading -> {}

is Response.Error -> {
goToDashboard()
}
is Response.Success ->
goToDashboard()
}

}
goToDashboard()
}
}

Expand Down

0 comments on commit 2341e4e

Please sign in to comment.