Skip to content

Commit

Permalink
- show PoW control only in androidNode; println, deadcode cleanup
Browse files Browse the repository at this point in the history
  • Loading branch information
nostrbuddha committed Jan 29, 2025
1 parent b7c4742 commit 70fb8d1
Show file tree
Hide file tree
Showing 8 changed files with 63 additions and 49 deletions.
Original file line number Diff line number Diff line change
@@ -1,11 +1,7 @@
package network.bisq.mobile.android.node.di

import network.bisq.mobile.android.node.AndroidApplicationService
import network.bisq.mobile.android.node.presentation.NodeGettingStartedPresenter
import network.bisq.mobile.android.node.presentation.NodeMainPresenter
import network.bisq.mobile.android.node.presentation.NodeSettingsPresenter
import network.bisq.mobile.android.node.presentation.NodeSplashPresenter
import network.bisq.mobile.android.node.presentation.OnBoardingNodePresenter
import network.bisq.mobile.android.node.presentation.*
import network.bisq.mobile.android.node.service.AndroidMemoryReportService
import network.bisq.mobile.android.node.service.AndroidNodeCatHashService
import network.bisq.mobile.android.node.service.bootstrap.NodeApplicationBootstrapFacade
Expand All @@ -31,6 +27,8 @@ import network.bisq.mobile.domain.service.user_profile.UserProfileServiceFacade
import network.bisq.mobile.presentation.MainPresenter
import network.bisq.mobile.presentation.ui.AppPresenter
import network.bisq.mobile.presentation.ui.uicases.GettingStartedPresenter
import network.bisq.mobile.presentation.ui.uicases.settings.GeneralSettingsPresenter
import network.bisq.mobile.presentation.ui.uicases.settings.IGeneralSettingsPresenter
import network.bisq.mobile.presentation.ui.uicases.settings.ISettingsPresenter
import network.bisq.mobile.presentation.ui.uicases.settings.SettingsPresenter
import network.bisq.mobile.presentation.ui.uicases.startup.IOnboardingPresenter
Expand Down Expand Up @@ -92,5 +90,7 @@ val androidNodeModule = module {

single<SettingsPresenter> { NodeSettingsPresenter(get(), get()) } bind ISettingsPresenter::class

single<GeneralSettingsPresenter> { NodeGeneralSettingsPresenter(get(), get(), get(), get()) } bind IGeneralSettingsPresenter::class

single<IOnboardingPresenter> { OnBoardingNodePresenter(get(), get(), get()) } bind IOnboardingPresenter::class
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
package network.bisq.mobile.android.node.presentation

import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow
import network.bisq.mobile.domain.data.repository.SettingsRepository
import network.bisq.mobile.domain.service.common.LanguageServiceFacade
import network.bisq.mobile.domain.service.settings.SettingsServiceFacade
import network.bisq.mobile.presentation.MainPresenter
import network.bisq.mobile.presentation.ui.uicases.settings.GeneralSettingsPresenter

class NodeGeneralSettingsPresenter(
private val settingsRepository: SettingsRepository,
private val settingsServiceFacade: SettingsServiceFacade,
private val languageServiceFacade: LanguageServiceFacade,
mainPresenter: MainPresenter
) : GeneralSettingsPresenter(settingsRepository, settingsServiceFacade, languageServiceFacade, mainPresenter) {

override val shouldShowPoWAdjustmentFactor: StateFlow<Boolean> = MutableStateFlow(true)

}
Original file line number Diff line number Diff line change
Expand Up @@ -30,10 +30,6 @@ class NodeLanguageServiceFacade(private val applicationService: AndroidApplicati
private val _allPairs: MutableStateFlow<List<Pair<String, String>>> = MutableStateFlow(emptyList())
override val allPairs: StateFlow<List<Pair<String, String>>> = _allPairs

override fun getDisplayString(languageCode: String): String {
return LanguageRepository.getDisplayString(languageCode)
}

override fun setDefaultLanguage(languageCode: String) {
return LanguageRepository.setDefaultLanguage(languageCode)
}
Expand All @@ -46,7 +42,6 @@ class NodeLanguageServiceFacade(private val applicationService: AndroidApplicati
displayTextList.add(LanguageRepository.getDisplayString(code))
}
_i18nPairs.value = LanguageRepository.I18N_CODES.zip(displayTextList)
println(_i18nPairs.value)

displayTextList.clear()
for (code in LanguageRepository.CODES) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,10 +28,6 @@ class ClientLanguageServiceFacade(
private val _allPairs: MutableStateFlow<List<Pair<String, String>>> = MutableStateFlow(emptyList())
override val allPairs: StateFlow<List<Pair<String, String>>> = _allPairs

override fun getDisplayString(languageCode: String): String {
return "TODO" //LanguageRepository.getDisplayLanguage(languageCode)
}

override fun setDefaultLanguage(languageCode: String) {
// TODO
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,4 @@ interface LanguageServiceFacade : LifeCycleAware {
val allPairs: StateFlow<List<Pair<String, String>>>

fun setDefaultLanguage(languageCode: String)

fun getDisplayString(languageCode: String): String
}
Original file line number Diff line number Diff line change
Expand Up @@ -155,7 +155,6 @@ fun BisqTextField(
}
onValueChange(cleanValue)
validationError = validation?.invoke(cleanValue)
println("validationError: ${validationError}")
},
modifier = Modifier
.padding(paddingValues)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,8 @@ open class GeneralSettingsPresenter(
// Doing this to reload all bundles of the newly selected language,
// all String.i18n() across the app gets the text of selected language
I18nSupport.initialize(langCode)
// TODO: This will update the default language of remote instance.
// Is this okay? Considering we will have multiple clients to connect to same remote node in the future
// To update display values in i18Pairs, allLanguagePairs with the new language
languageServiceFacade.setDefaultLanguage(langCode)
languageServiceFacade.activate()
Expand Down Expand Up @@ -104,6 +106,8 @@ open class GeneralSettingsPresenter(
}
}

override val shouldShowPoWAdjustmentFactor: StateFlow<Boolean> = MutableStateFlow(false)

private var jobs: MutableSet<Job> = mutableSetOf()

override fun onViewAttached() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ interface IGeneralSettingsPresenter : ViewPresenter {
val ignorePow: StateFlow<Boolean>
fun setIgnorePow(value: Boolean)

val shouldShowPoWAdjustmentFactor: StateFlow<Boolean>
}

@Composable
Expand All @@ -55,6 +56,7 @@ fun GeneralSettingsScreen(showBackNavigation: Boolean = false) {
val tradePriceTolerance = presenter.tradePriceTolerance.collectAsState().value
val powFactor = presenter.powFactor.collectAsState().value
val ignorePow = presenter.ignorePow.collectAsState().value
val shouldShowPoWAdjustmentFactor = presenter.shouldShowPoWAdjustmentFactor.collectAsState().value

RememberPresenterLifecycle(presenter)

Expand Down Expand Up @@ -130,7 +132,6 @@ fun GeneralSettingsScreen(showBackNavigation: Boolean = false) {
helperText = "settings.trade.maxTradePriceDeviation.help".i18n(),
validation = {
val parsedValue = it.toDoubleOrNull()
println(parsedValue)
if (parsedValue == null) {
return@BisqTextField "Value cannot be null"
}
Expand All @@ -141,38 +142,39 @@ fun GeneralSettingsScreen(showBackNavigation: Boolean = false) {
}
)

BisqHDivider()

BisqText.h4Regular("settings.network.headline".i18n())

BisqTextField(
label = "settings.network.difficultyAdjustmentFactor.description.self".i18n(),
value = powFactor.toString(),
keyboardType = KeyboardType.Decimal,
disabled = !ignorePow,
onValueChange = {
val parsedValue = it.toDoubleOrNull()
if (parsedValue != null) {
presenter.setPowFactor(parsedValue)
}
},
validation = {
val parsedValue = it.toDoubleOrNull()
println(parsedValue)
if (parsedValue == null) {
return@BisqTextField "Value cannot be null"
}
if (parsedValue < 0 || parsedValue > 160_000) {
return@BisqTextField "authorizedRole.securityManager.difficultyAdjustment.invalid".i18n(160000)
if (shouldShowPoWAdjustmentFactor) {
BisqHDivider()

BisqText.h4Regular("settings.network.headline".i18n())

BisqTextField(
label = "settings.network.difficultyAdjustmentFactor.description.self".i18n(),
value = powFactor.toString(),
keyboardType = KeyboardType.Decimal,
disabled = !ignorePow,
onValueChange = {
val parsedValue = it.toDoubleOrNull()
if (parsedValue != null) {
presenter.setPowFactor(parsedValue)
}
},
validation = {
val parsedValue = it.toDoubleOrNull()
if (parsedValue == null) {
return@BisqTextField "Value cannot be null"
}
if (parsedValue < 0 || parsedValue > 160_000) {
return@BisqTextField "authorizedRole.securityManager.difficultyAdjustment.invalid".i18n(160000)
}
return@BisqTextField null
}
return@BisqTextField null
}
)
BisqSwitch(
label = "settings.network.difficultyAdjustmentFactor.ignoreValueFromSecManager".i18n(),
checked = ignorePow,
onSwitch = { presenter.setIgnorePow(it) }
)
)
BisqSwitch(
label = "settings.network.difficultyAdjustmentFactor.ignoreValueFromSecManager".i18n(),
checked = ignorePow,
onSwitch = { presenter.setIgnorePow(it) }
)
}

}

Expand Down

0 comments on commit 70fb8d1

Please sign in to comment.