Compare commits

..

No commits in common. "4b866aad8acb21918225eb4f770b8619b9fd58a7" and "81bfec5ac5d31073efeaace9c9fc3485d31c1e63" have entirely different histories.

4 changed files with 17 additions and 14 deletions

View File

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

View File

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

View File

@ -44,8 +44,14 @@ fun ScanScreen(
val context = LocalContext.current val context = LocalContext.current
LaunchedEffect(characterId) { LaunchedEffect(storageRepository) {
withContext(Dispatchers.IO) { withContext(Dispatchers.IO) {
/*
First check if there is a character sent through the navigation system
If there is not, that means we got here through the home screen nfc button
If we got here through the home screen, it does not hurt to check if there is
an active character.
*/
if (characterId != null && nfcCharacter == null) { if (characterId != null && nfcCharacter == null) {
nfcCharacter = scanScreenController.characterToNfc(characterId) nfcCharacter = scanScreenController.characterToNfc(characterId)
} }

View File

@ -231,9 +231,7 @@ class ScanScreenControllerImpl(
val proto = VitalWearCharacterExporter(componentActivity, database).buildCharacterProto(characterId) val proto = VitalWearCharacterExporter(componentActivity, database).buildCharacterProto(characterId)
val client = VitalWearHceReaderClient(isoDep) val client = VitalWearHceReaderClient(isoDep)
client.sendCharacterToWatch(proto) client.sendCharacterToWatch(proto)
database.userCharacterDao().deleteCharacterById(characterId) Log.i("NFC_WRITE", "Character sent to VitalWear via HCE")
pendingExportCharacterId = null
Log.i("NFC_WRITE", "Character sent to VitalWear and deleted from app (id=$characterId)")
componentActivity.runOnUiThread { componentActivity.runOnUiThread {
Toast.makeText(componentActivity, componentActivity.getString(R.string.scan_sent_character_success), Toast.LENGTH_SHORT).show() Toast.makeText(componentActivity, componentActivity.getString(R.string.scan_sent_character_success), Toast.LENGTH_SHORT).show()
} }