package com.tangem.util import android.app.Activity import android.content.Context import android.graphics.Bitmap import android.graphics.Color import android.net.ConnectivityManager import android.net.NetworkInfo import com.google.zxing.BarcodeFormat import com.google.zxing.EncodeHintType import com.google.zxing.WriterException import com.google.zxing.qrcode.QRCodeWriter import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel import java.util.* object UtilHelper { @Throws(WriterException::class) fun generateQrCode(myCodeText: String): Bitmap { val hintMap = Hashtable() hintMap[EncodeHintType.ERROR_CORRECTION] = ErrorCorrectionLevel.M // H = 30% damage hintMap[EncodeHintType.MARGIN] = 2 val qrCodeWriter = QRCodeWriter() val size = 256 val bitMatrix = qrCodeWriter.encode(myCodeText, BarcodeFormat.QR_CODE, size, size, hintMap) val width = bitMatrix.width val bmp = Bitmap.createBitmap(width, width, Bitmap.Config.RGB_565) for (x in 0 until width) { for (y in 0 until width) { bmp.setPixel(y, x, if (bitMatrix.get(x, y)) Color.BLACK else Color.WHITE) } } return bmp } fun isOnline(context: Activity): Boolean { return try { val cm = context.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager val netInfo: NetworkInfo? netInfo = cm.activeNetworkInfo netInfo != null && netInfo.isConnected } catch (e: NullPointerException) { e.printStackTrace() false } } }