diff --git a/app-common/src/main/java/im/angry/openeuicc/ui/EuiccInfoActivity.kt b/app-common/src/main/java/im/angry/openeuicc/ui/EuiccInfoActivity.kt
index bb1d5b6..0a7e16c 100644
--- a/app-common/src/main/java/im/angry/openeuicc/ui/EuiccInfoActivity.kt
+++ b/app-common/src/main/java/im/angry/openeuicc/ui/EuiccInfoActivity.kt
@@ -16,6 +16,7 @@ import androidx.recyclerview.widget.RecyclerView.ViewHolder
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout
import im.angry.openeuicc.common.R
import im.angry.openeuicc.core.EuiccChannel
+import im.angry.openeuicc.core.EuiccChannelManager
import im.angry.openeuicc.util.*
import kotlinx.coroutines.launch
import net.typeblog.lpac_jni.impl.DEFAULT_PKID_GSMA_RSP2_ROOT_CI1
@@ -50,10 +51,13 @@ class EuiccInfoActivity : BaseEuiccAccessActivity() {
logicalSlotId = intent.getIntExtra("logicalSlotId", 0)
- title = getString(
- R.string.euicc_info_activity_title,
+ val channelTitle = if (logicalSlotId == EuiccChannelManager.USB_CHANNEL_ID) {
+ getString(R.string.usb)
+ } else {
getString(R.string.channel_name_format, logicalSlotId)
- )
+ }
+
+ title = getString(R.string.euicc_info_activity_title, channelTitle)
swipeRefresh.setOnRefreshListener { refresh() }
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 4d8a38f..d329048 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,5 +1,6 @@
package im.angry.openeuicc.ui.wizard
+import android.app.AlertDialog
import android.graphics.BitmapFactory
import android.os.Bundle
import android.view.LayoutInflater
@@ -104,7 +105,16 @@ class DownloadWizardMethodSelectFragment : DownloadWizardActivity.DownloadWizard
private fun processLpaString(s: String) {
val components = s.split("$")
- if (components.size < 3 || components[0] != "LPA:1") return
+ if (components.size < 3 || components[0] != "LPA:1") {
+ AlertDialog.Builder(requireContext()).apply {
+ setTitle(R.string.profile_download_incorrect_lpa_string)
+ setMessage(R.string.profile_download_incorrect_lpa_string_message)
+ setCancelable(true)
+ setNegativeButton(android.R.string.cancel, null)
+ show()
+ }
+ return
+ }
state.smdp = components[1]
state.matchingId = components[2]
gotoNextFragment(DownloadWizardDetailsFragment())
diff --git a/app-common/src/main/res/values/strings.xml b/app-common/src/main/res/values/strings.xml
index 4a9f529..f308826 100644
--- a/app-common/src/main/res/values/strings.xml
+++ b/app-common/src/main/res/values/strings.xml
@@ -56,6 +56,8 @@
This download may fail
This download may fail due to low remaining capacity.
+ Incorrect LPA String
+ The LPA string could not be parsed
Download Wizard
Back