Quicm fix, DisposableEffect isn't reloading when isDoneSendCard is true

TODO: add more disposableeffects
This commit is contained in:
Nacho 2025-01-12 13:50:41 +01:00
parent 0bd745ac86
commit ce1cf3eddb
2 changed files with 12 additions and 6 deletions

View File

@ -67,7 +67,7 @@ fun ScanScreen(
}
}
DisposableEffect(readingScreen || writingScreen) {
DisposableEffect(readingScreen || writingScreen, isDoneSendingCard) {
if(readingScreen) {
scanScreenController.registerActivityLifecycleListener(SCAN_SCREEN_ACTIVITY_LIFECYCLE_LISTENER, object: ActivityLifecycleListener {
override fun onPause() {
@ -139,12 +139,12 @@ fun ScanScreen(
} else if (writingScreen) {
if (!isDoneSendingCard) {
ReadingCharacterScreen("Sending card") {
isDoneSendingCard = true
writingScreen = false
scanScreenController.cancelRead()
}
} else if (!isDoneWritingCharacter) {
ReadingCharacterScreen("Writing character") {
isDoneWritingCharacter = true
isDoneSendingCard = false
writingScreen = false
scanScreenController.cancelRead()
}

View File

@ -6,6 +6,7 @@ import android.nfc.Tag
import android.nfc.tech.NfcA
import android.os.Bundle
import android.provider.Settings
import android.util.Log
import android.widget.Toast
import androidx.activity.ComponentActivity
import androidx.lifecycle.lifecycleScope
@ -115,9 +116,14 @@ class ScanScreenControllerImpl(
onComplete: () -> Unit
) {
handleTag(secrets) { tagCommunicator ->
tagCommunicator.sendCharacter(nfcCharacter)
onComplete.invoke()
"Sent character successfully!"
try {
tagCommunicator.sendCharacter(nfcCharacter)
onComplete.invoke()
"Sent character successfully!"
} catch (e: Throwable) {
Log.e("TAG", e.stackTraceToString())
"Whoops"
}
}
}