diff --git a/app/src/main/java/com/example/mypos/services/AditumSdkService.kt b/app/src/main/java/com/example/mypos/services/AditumSdkService.kt index 8ba1dc4..05901f9 100644 --- a/app/src/main/java/com/example/mypos/services/AditumSdkService.kt +++ b/app/src/main/java/com/example/mypos/services/AditumSdkService.kt @@ -36,6 +36,10 @@ class AditumSdkService(private val paymentApplication: PaymentApplication) { fun getName(): String = "AditumSdkModule" + fun register() { + + } + fun initAditumSdk( applicationName: String, applicationVersion: String, diff --git a/app/src/main/java/com/example/mypos/services/PrintService.kt b/app/src/main/java/com/example/mypos/services/PrintService.kt new file mode 100644 index 0000000..7d4f0e1 --- /dev/null +++ b/app/src/main/java/com/example/mypos/services/PrintService.kt @@ -0,0 +1,40 @@ +package com.example.mypos.services + +import android.graphics.Bitmap +import android.util.Log +import br.com.aditum.data.v2.enums.PrintStatus +import br.com.aditum.device.callbacks.IPrintStatusCallback +import com.google.gson.Gson +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.flow.MutableStateFlow +import kotlinx.coroutines.flow.StateFlow +import kotlinx.coroutines.flow.asStateFlow +import kotlinx.coroutines.launch + +class PrintService(private val paymentApplication: PaymentApplication) { + companion object { + private const val TAG = "PrintService" + } + private val coroutineScope = CoroutineScope(Dispatchers.IO) + + private val _printStatusFlow = MutableStateFlow(null) + val printStatusFlow: StateFlow = _printStatusFlow.asStateFlow() + + private val callback = object : IPrintStatusCallback.Stub() { + override fun finished(printStatus: PrintStatus?) { + coroutineScope.launch { + Log.d(TAG, "PrintStatus - $printStatus") + } + } + } + + fun print(vararg bitmaps: Bitmap) { + bitmaps.forEach { bitmap -> + paymentApplication.communicationService?.deviceSdk?.printerSdk?.print( + bitmap, + callback + ) + } + } +} \ No newline at end of file