diff --git a/app-common/src/main/java/im/angry/openeuicc/ui/wizard/DownloadWizardMethodSelectFragment.kt b/app-common/src/main/java/im/angry/openeuicc/ui/wizard/DownloadWizardMethodSelectFragment.kt
index d329048..16b9759 100644
--- a/app-common/src/main/java/im/angry/openeuicc/ui/wizard/DownloadWizardMethodSelectFragment.kt
+++ b/app-common/src/main/java/im/angry/openeuicc/ui/wizard/DownloadWizardMethodSelectFragment.kt
@@ -1,6 +1,7 @@
package im.angry.openeuicc.ui.wizard
import android.app.AlertDialog
+import android.content.ClipboardManager
import android.graphics.BitmapFactory
import android.os.Bundle
import android.view.LayoutInflater
@@ -68,6 +69,9 @@ class DownloadWizardMethodSelectFragment : DownloadWizardActivity.DownloadWizard
DownloadMethod(R.drawable.ic_gallery_black, R.string.download_wizard_method_gallery) {
gallerySelectorLauncher.launch("image/*")
},
+ DownloadMethod(R.drawable.ic_scan_black, R.string.download_wizard_method_clipboard) {
+ handleLoadFromClipboard()
+ },
DownloadMethod(R.drawable.ic_edit, R.string.download_wizard_method_manual) {
gotoNextFragment(DownloadWizardDetailsFragment())
}
@@ -103,6 +107,12 @@ class DownloadWizardMethodSelectFragment : DownloadWizardActivity.DownloadWizard
return view
}
+ private fun handleLoadFromClipboard() {
+ val clipboard = requireContext().getSystemService(ClipboardManager::class.java)
+ val text = clipboard.primaryClip?.getItemAt(0)?.text ?: return
+ processLpaString(text.toString())
+ }
+
private fun processLpaString(s: String) {
val components = s.split("$")
if (components.size < 3 || components[0] != "LPA:1") {
diff --git a/app-common/src/main/res/values/strings.xml b/app-common/src/main/res/values/strings.xml
index 61823f7..69b2671 100644
--- a/app-common/src/main/res/values/strings.xml
+++ b/app-common/src/main/res/values/strings.xml
@@ -75,6 +75,7 @@
How would you like to download the eSIM profile?
Scan a QR code with camera
Load a QR code from gallery
+ Load from Clipboard
Enter manually
Input or confirm details for downloading your eSIM:
Downloading your eSIM…