From abe385014d602de67379baf2afda674daac4b82c Mon Sep 17 00:00:00 2001 From: septs Date: Sat, 14 Dec 2024 21:49:09 +0800 Subject: [PATCH] feat: load lpa string from clipboard --- .../ui/wizard/DownloadWizardMethodSelectFragment.kt | 10 ++++++++++ app-common/src/main/res/values/strings.xml | 1 + 2 files changed, 11 insertions(+) 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… -- 2.45.3