Untitled
unknown
plain_text
a year ago
2.3 kB
15
Indexable
MethodChannel(flutterEngine.dartExecutor.binaryMessenger,
skybandAndroidChannel
).setMethodCallHandler {call, result ->
when (call.method) {
"packEcrRequest" -> {
val requestData = call.argument<String>("requestData")!!
val transactionType = call.argument<String>("transactionType")!!
val signature = call.argument<String>("signature")!!
println("requestData: $requestData")
println("Signature: $signature")
val packedData = CLibraryLoad.getInstance().getPackData(requestData, transactionType.toInt(), signature)
println("packedData $packedData")
result.success(packedData.toString())
}
"parseEcrResponse" -> {
val responseData = call.argument<ByteArray>("responseData")!!
val parsedData = CLibraryLoad.getInstance().getParseData(responseData.toString())
result.success(parsedData)
}
"launchPosApp" -> {
val message = call.argument<String>("message")!!
val requestData = when (val arg = call.argument<Any>("requestData")) {
is ByteArray -> arg
is ArrayList<*> -> (arg as? ArrayList<Byte>)?.toByteArray()
else -> null
}
println("requestData: $requestData")
try {
val intent: Intent = context.packageManager.getLaunchIntentForPackage("com.skyband.pos.app")!!
intent.putExtra("message", "ecr-txn-event")
intent.putExtra("request", requestData)
// requestData?.let { intent?.putExtra("request", it) }
intent.putExtra("packageName", context.packageName)
context.startActivity(intent)
result.success(null)
} catch (e: Exception) {
result.error("400", "${e.message}" , null)
}
}
else -> {
result.notImplemented()
}
}
}Editor is loading...
Leave a Comment