secant-android-wallet/ui-lib/src/main/java/co/electriccoin/zcash/ui/screen/receive/util/JvmQrCodeGenerator.kt

24 lines
770 B
Kotlin
Raw Normal View History

package co.electriccoin.zcash.ui.screen.receive.util
2022-01-13 09:49:08 -08:00
import com.google.zxing.BarcodeFormat
import com.google.zxing.qrcode.QRCodeWriter
object JvmQrCodeGenerator : QrCodeGenerator {
override fun generate(
data: String,
sizePixels: Int
): BooleanArray {
val bitMatrix = QRCodeWriter().encode(data, BarcodeFormat.QR_CODE, sizePixels, sizePixels)
2022-01-13 09:49:08 -08:00
return BooleanArray(sizePixels * sizePixels).apply {
var booleanArrayPosition = 0
for (bitMatrixX in 0 until sizePixels) {
for (bitMatrixY in 0 until sizePixels) {
this[booleanArrayPosition] = bitMatrix.get(bitMatrixX, bitMatrixY)
booleanArrayPosition++
}
}
}
}
}