Merge pull request #57 from b13st/fix/special-missions-nan-crash

Fix special missions crash and NaN% stat display
This commit is contained in:
Nacho 2026-06-24 23:05:51 +02:00 committed by GitHub
commit 4b866aad8a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 10 additions and 9 deletions

View File

@ -45,11 +45,12 @@ class HomeScreenControllerImpl(
.clearSpecialMission(missionId)
if (missionStatus.status == SpecialMission.Status.COMPLETED) {
val randomItem = database
.itemDao()
.getAllItems()
.first()
.random()
val allItems = database.itemDao().getAllItems().first()
if (allItems.isEmpty()) {
onCleared(null, null)
return@launch
}
val randomItem = allItems.random()
val randomItemAmount = (Random.nextFloat() * 5).roundToInt()

View File

@ -142,7 +142,7 @@ fun VBDiMHomeScreen(
ItemDisplay(
icon = R.drawable.baseline_swords_24,
textValue = when {
activeMon.totalBattlesLost == 0 -> "0.00 %"
activeMon.currentPhaseBattlesWon + activeMon.currentPhaseBattlesLost == 0 -> "0.00 %"
else -> {
val battleWinPercentage =
activeMon.currentPhaseBattlesWon.toFloat() / (activeMon.currentPhaseBattlesWon + activeMon.currentPhaseBattlesLost).toFloat()
@ -150,7 +150,7 @@ fun VBDiMHomeScreen(
Locale.getDefault(),
"%.2f",
battleWinPercentage * 100
) + " %" // Specify locale
) + " %"
}
},
definition = stringResource(R.string.home_vbdim_current_phase_win),
@ -193,9 +193,9 @@ fun VBDiMHomeScreen(
onClickMission = { missionId ->
selectedSpecialMissionId = missionId
},
onClickCollect = {
onClickCollect = { missionId ->
homeScreenController
.clearSpecialMission(selectedSpecialMissionId, onClickCollect)
.clearSpecialMission(missionId, onClickCollect)
}
)
}