From e6ff746d2f88f2024e2a1939ea650ac064d03e1a Mon Sep 17 00:00:00 2001 From: Mygod Date: Wed, 10 Apr 2019 11:20:38 +0800 Subject: [PATCH] Fix crash caused by illegal clipboard content --- .../net/wifi/configuration/WifiApDialogFragment.kt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/mobile/src/main/java/be/mygod/vpnhotspot/net/wifi/configuration/WifiApDialogFragment.kt b/mobile/src/main/java/be/mygod/vpnhotspot/net/wifi/configuration/WifiApDialogFragment.kt index 90ad2233..2baa8669 100644 --- a/mobile/src/main/java/be/mygod/vpnhotspot/net/wifi/configuration/WifiApDialogFragment.kt +++ b/mobile/src/main/java/be/mygod/vpnhotspot/net/wifi/configuration/WifiApDialogFragment.kt @@ -23,6 +23,7 @@ import be.mygod.vpnhotspot.RepeaterService import be.mygod.vpnhotspot.util.QRCodeDialog import be.mygod.vpnhotspot.util.toByteArray import be.mygod.vpnhotspot.util.toParcelable +import be.mygod.vpnhotspot.widget.SmartSnackbar import kotlinx.android.parcel.Parcelize import kotlinx.android.synthetic.main.dialog_wifi_ap.view.* import java.lang.IllegalStateException @@ -175,12 +176,15 @@ class WifiApDialogFragment : AlertDialogFragment { + android.R.id.paste -> try { app.clipboard.primaryClip?.getItemAt(0)?.text?.apply { Base64.decode(toString(), BASE64_FLAGS).toParcelable() ?.let { populateFromConfiguration(it) } } true + } catch (e: IllegalArgumentException) { + SmartSnackbar.make(e).show() + false } R.id.share_qr -> { QRCodeDialog().withArg(ret.configuration.toQRString())