diff --git a/app-unpriv/src/main/java/im/angry/openeuicc/ui/QuickAvailabilityFragment.kt b/app-unpriv/src/main/java/im/angry/openeuicc/ui/QuickAvailabilityFragment.kt index 993ebbc..c9ce2bf 100644 --- a/app-unpriv/src/main/java/im/angry/openeuicc/ui/QuickAvailabilityFragment.kt +++ b/app-unpriv/src/main/java/im/angry/openeuicc/ui/QuickAvailabilityFragment.kt @@ -26,6 +26,7 @@ import kotlinx.coroutines.runBlocking open class QuickAvailabilityFragment : Fragment(), OpenEuiccContextMarker { companion object { enum class Compatibility { + NOT_SUPPORTED, COMPATIBLE, NOT_COMPATIBLE, } @@ -90,11 +91,11 @@ open class QuickAvailabilityFragment : Fragment(), OpenEuiccContextMarker { } suspend fun getCompatibilityCheckResult(): CompatibilityResult { - val seService = connectSEService(requireContext()) - if (!seService.isConnected) { - return CompatibilityResult(Compatibility.NOT_COMPATIBLE) + val service = connectSEService(requireContext()) + if (!service.isConnected) { + return CompatibilityResult(Compatibility.NOT_SUPPORTED) } - val slots = seService.readers.filter { it.isSIM }.mapNotNull { reader -> + val slots = service.readers.filter { it.isSIM }.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 @@ -107,7 +108,6 @@ open class QuickAvailabilityFragment : Fragment(), OpenEuiccContextMarker { // SecurityException is only thrown when Channel is constructed, which means everything else needs to succeed reader.slotIndex } catch (_: Exception) { - // Ignore null } } @@ -121,6 +121,9 @@ open class QuickAvailabilityFragment : Fragment(), OpenEuiccContextMarker { val usbHost = requireContext().packageManager .hasSystemFeature(PackageManager.FEATURE_USB_HOST) val resId = when (result.compatibility) { + Compatibility.NOT_SUPPORTED -> + R.string.quick_availability_not_supported + Compatibility.COMPATIBLE -> R.string.quick_availability_compatible diff --git a/app-unpriv/src/main/res/values/strings.xml b/app-unpriv/src/main/res/values/strings.xml index 97da371..d3fef28 100644 --- a/app-unpriv/src/main/res/values/strings.xml +++ b/app-unpriv/src/main/res/values/strings.xml @@ -14,6 +14,7 @@ Quick Availability Your smartphone can use %s compatible cards + Your smartphone is not supported with %s Your smartphone is not compatible with %s Your smartphone is not compatible with %s, but can be managed using a USB smart card reader SIM card slots accessible: %s