@@ -3,10 +3,7 @@ package com.walletconnect.sample.dapp.ui.routes.composable_routes.chain_selectio
33import android.content.Context
44import android.widget.Toast
55import android.content.Intent
6- import android.graphics.Bitmap
7- import android.net.Uri
8- import androidmads.library.qrgenearator.QRGContents
9- import androidmads.library.qrgenearator.QRGEncoder
6+ import android.graphics.drawable.Drawable
107import java.net.URLEncoder
118import androidx.compose.foundation.Image
129import androidx.compose.foundation.background
@@ -61,7 +58,11 @@ import androidx.compose.ui.unit.sp
6158import androidx.compose.ui.window.Dialog
6259import androidx.lifecycle.viewmodel.compose.viewModel
6360import androidx.navigation.NavController
61+ import com.github.alexzhirkevich.customqrgenerator.QrData
62+ import com.github.alexzhirkevich.customqrgenerator.vector.QrCodeDrawable
63+ import com.google.accompanist.drawablepainter.rememberDrawablePainter
6464import com.walletconnect.android.utils.isPackageInstalled
65+ import com.walletconnect.modalcore.R
6566import com.walletconnect.sample.common.Chains
6667import com.walletconnect.sample.common.CompletePreviews
6768import com.walletconnect.sample.common.ui.WCTopAppBarLegacy
@@ -74,15 +75,12 @@ import com.walletconnect.sample.common.ui.toColor
7475import com.walletconnect.sample.dapp.BuildConfig
7576import com.walletconnect.sample.dapp.ui.DappSampleEvents
7677import com.walletconnect.sample.dapp.ui.routes.Route
77- import com.walletconnect.sign.client.Sign
78- import com.walletconnect.wcmodal.client.Modal
7978import com.walletconnect.wcmodal.client.WalletConnectModal
8079import com.walletconnect.wcmodal.ui.openWalletConnectModal
8180import com.walletconnect.wcmodal.ui.state.rememberModalState
8281import kotlinx.coroutines.CoroutineDispatcher
8382import kotlinx.coroutines.CoroutineScope
8483import kotlinx.coroutines.Dispatchers
85- import kotlinx.coroutines.flow.collectLatest
8684import kotlinx.coroutines.launch
8785
8886@Composable
@@ -330,7 +328,7 @@ private fun ChainSelectionScreen(
330328
331329@Composable
332330private fun QRDialog (composableScope : CoroutineScope , dispatcher : CoroutineDispatcher , pairingUri : PairingUri , onDismissRequest : () -> Unit , context : Context ) {
333- val qrBitmap = generateQRCode(pairingUri.uri)
331+ val qrDrawable = generateQRCode(pairingUri.uri)
334332 val clipboardManager: ClipboardManager = LocalClipboardManager .current
335333
336334 Dialog (onDismissRequest = { onDismissRequest() }) {
@@ -342,9 +340,9 @@ private fun QRDialog(composableScope: CoroutineScope, dispatcher: CoroutineDispa
342340 contentAlignment = Alignment .Center
343341 ) {
344342 Column (horizontalAlignment = Alignment .CenterHorizontally ) {
345- qrBitmap ?.let {
343+ qrDrawable ?.let {
346344 Image (
347- bitmap = it.asImageBitmap( ),
345+ painter = rememberDrawablePainter(drawable = it ),
348346 contentDescription = " QR Code" ,
349347 modifier = Modifier
350348 .fillMaxWidth()
@@ -447,10 +445,10 @@ private fun onDynamicSwitcher(
447445 }
448446}
449447
450- fun generateQRCode (content : String ): Bitmap ? {
451- val qrgEncoder = QRGEncoder (content, null , QRGContents . Type . TEXT , 400 )
448+ fun generateQRCode (content : String ): Drawable ? {
449+ val qrgEncoder = QrCodeDrawable ( QrData . Url (content) )
452450 return try {
453- qrgEncoder.bitmap
451+ qrgEncoder
454452 } catch (e: Exception ) {
455453 e.printStackTrace()
456454 null
0 commit comments