~cytrogen/vbhelper

ce1cf3eddbefd195a426e71a1b6293beaacda57e — Nacho 1 year, 3 months ago 0bd745a
Quicm fix, DisposableEffect isn't reloading when isDoneSendCard is true

TODO: add more disposableeffects
M app/src/main/java/com/github/nacabaro/vbhelper/screens/scanScreen/ScanScreen.kt => app/src/main/java/com/github/nacabaro/vbhelper/screens/scanScreen/ScanScreen.kt +3 -3
@@ 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()
            }

M app/src/main/java/com/github/nacabaro/vbhelper/screens/scanScreen/ScanScreenControllerImpl.kt => app/src/main/java/com/github/nacabaro/vbhelper/screens/scanScreen/ScanScreenControllerImpl.kt +9 -3
@@ 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"
            }
        }
    }