@@ -5,12 +5,15 @@ import android.app.Application
55import android.app.NotificationChannel
66import android.app.NotificationManager
77import android.content.Context
8+ import android.content.Intent
89import android.graphics.Color
910import android.os.Build
1011import android.util.Log
12+ import androidx.activity.result.contract.ActivityResultContract
1113import androidx.annotation.ColorInt
1214import androidx.core.app.NotificationCompat
1315import androidx.core.content.ContextCompat
16+ import androidx.fragment.app.Fragment
1417import com.walletconnect.android.Core
1518import com.walletconnect.web3.modal.client.Modal
1619import com.walletconnect.web3.modal.client.Web3Modal
@@ -19,6 +22,8 @@ import de.blinkt.openvpn.core.OpenVPNService
1922import dora.lifecycle.walletconnect.R
2023import dora.pay.activity.WalletConnectActivity
2124import dora.pay.token.Token
25+ import dora.pay.wallet.WalletContract
26+ import dora.pay.wallet.WalletResult
2227import dora.util.IntentUtils
2328import dora.util.ToastUtils
2429import dora.widget.DoraAlertDialog
@@ -274,21 +279,33 @@ object DoraFund {
274279 }
275280
276281 /* *
277- * Connect to cold wallet.
282+ * Connect to a cold wallet.
278283 * @since 2.0
279284 */
280285 fun connectWallet (context : Context ) {
281286 IntentUtils .startActivity(context, WalletConnectActivity ::class .java)
282287 }
283288
284289 /* *
285- * Connect to cold wallet and pay immediately after connection.
290+ * Connect to a cold wallet and pay immediately after connection.
286291 * @since 2.0
287292 */
288293 fun connectWallet (activity : Activity , requestCode : Int ) {
289294 IntentUtils .startActivityForResult(activity, WalletConnectActivity ::class .java, requestCode)
290295 }
291296
297+ /* *
298+ * Connect to a cold wallet from a Fragment.
299+ * @since 2.1
300+ */
301+ fun connectWallet (fragment : Fragment , onResult : (WalletResult ? ) -> Unit ) {
302+ val connectWalletLauncher =
303+ fragment.registerForActivityResult(WalletContract ()) { result ->
304+ onResult(result)
305+ }
306+ connectWalletLauncher.launch(Unit )
307+ }
308+
292309 /* *
293310 * Disconnect from cold wallet.
294311 * @since 2.0
0 commit comments