From e9389c3483ab46272d113a83ec1ff00fa9dcc49c Mon Sep 17 00:00:00 2001 From: septs Date: Mon, 21 Jul 2025 22:12:36 +0800 Subject: [PATCH 1/2] fix: use customizableTextProvider in getCompatibilityCheckResult --- .../angry/openeuicc/ui/QuickCompatibilityFragment.kt | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/app-unpriv/src/main/java/im/angry/openeuicc/ui/QuickCompatibilityFragment.kt b/app-unpriv/src/main/java/im/angry/openeuicc/ui/QuickCompatibilityFragment.kt index f6af78d..137f3d6 100644 --- a/app-unpriv/src/main/java/im/angry/openeuicc/ui/QuickCompatibilityFragment.kt +++ b/app-unpriv/src/main/java/im/angry/openeuicc/ui/QuickCompatibilityFragment.kt @@ -127,8 +127,9 @@ open class QuickCompatibilityFragment : Fragment(), UnprivilegedEuiccContextMark if (!service.isConnected) { return CompatibilityResult(Compatibility.NOT_COMPATIBLE) } - val omapiSlots = service.readers.filter { it.isSIM }.map { it.slotIndex } - val slots = service.readers.filter { it.isSIM }.mapNotNull { reader -> + val readers = service.readers.filter(Reader::isSIM) + val omapiSlots = readers.mapNotNull(Reader::slotIndex) + val slots = readers.mapNotNull { reader -> try { // Note: we ONLY check the default ISD-R AID, because this test is for the _device_, // NOT the eUICC. We don't care what AID a potential eUICC might use, all we need to @@ -147,10 +148,12 @@ open class QuickCompatibilityFragment : Fragment(), UnprivilegedEuiccContextMark if (omapiSlots.isEmpty()) { return CompatibilityResult(Compatibility.NOT_COMPATIBLE) } + val formatChannelName = appContainer.customizableTextProvider::formatInternalChannelName return CompatibilityResult( Compatibility.COMPATIBLE, - slotsOmapi = omapiSlots.map { "SIM$it" }, - slotsIsdr = slots.map { "SIM$it" }) + slotsOmapi = omapiSlots.map(formatChannelName), + slotsIsdr = slots.map(formatChannelName), + ) } open fun formatConclusion(result: CompatibilityResult): String { -- 2.45.3 From 218a9e9d9f5ce76761d69fb0013c0dcaf1242826 Mon Sep 17 00:00:00 2001 From: septs Date: Mon, 21 Jul 2025 22:38:33 +0800 Subject: [PATCH 2/2] fix: zero-based index --- .../im/angry/openeuicc/ui/QuickCompatibilityFragment.kt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app-unpriv/src/main/java/im/angry/openeuicc/ui/QuickCompatibilityFragment.kt b/app-unpriv/src/main/java/im/angry/openeuicc/ui/QuickCompatibilityFragment.kt index 137f3d6..9b41730 100644 --- a/app-unpriv/src/main/java/im/angry/openeuicc/ui/QuickCompatibilityFragment.kt +++ b/app-unpriv/src/main/java/im/angry/openeuicc/ui/QuickCompatibilityFragment.kt @@ -179,8 +179,8 @@ open class QuickCompatibilityFragment : Fragment(), UnprivilegedEuiccContextMark } } -val Reader.isSIM: Boolean +private inline val Reader.isSIM: Boolean get() = name.startsWith("SIM") -val Reader.slotIndex: Int - get() = (name.replace("SIM", "").toIntOrNull() ?: 1) \ No newline at end of file +private inline val Reader.slotIndex: Int + get() = (name.replace("SIM", "").toIntOrNull() ?: 1) - 1 // 0-based index \ No newline at end of file -- 2.45.3