diff --git a/app/src/main/java/im/angry/openeuicc/service/OpenEuiccService.kt b/app/src/main/java/im/angry/openeuicc/service/OpenEuiccService.kt index 1fc8d6c..6ef9863 100644 --- a/app/src/main/java/im/angry/openeuicc/service/OpenEuiccService.kt +++ b/app/src/main/java/im/angry/openeuicc/service/OpenEuiccService.kt @@ -52,9 +52,8 @@ class OpenEuiccService : EuiccService() { } override fun onGetEuiccProfileInfoList(slotId: Int): GetEuiccProfileInfoListResult? { - val channel = findChannel(slotId) ?: return null - val profiles = channel.lpa.profiles.filter { - it.profileClass == LocalProfileInfo.Clazz.Operational + val profiles = (findChannel(slotId) ?: return null).lpa.profiles.filter { + it.profileClass != LocalProfileInfo.Clazz.Testing }.map { EuiccProfileInfo.Builder(it.iccidLittleEndian).apply { setProfileName(it.name) @@ -76,7 +75,8 @@ class OpenEuiccService : EuiccService() { }.build() } - return GetEuiccProfileInfoListResult(RESULT_OK, profiles.toTypedArray(), channel.removable) + // TODO: Does isRemovable matter? Will Android even query us for removable SIMs? + return GetEuiccProfileInfoListResult(RESULT_OK, profiles.toTypedArray(), false) } override fun onGetEuiccInfo(slotId: Int): EuiccInfo { diff --git a/app/src/main/java/im/angry/openeuicc/ui/EuiccManagementFragment.kt b/app/src/main/java/im/angry/openeuicc/ui/EuiccManagementFragment.kt index cda8d38..c6f2dc3 100644 --- a/app/src/main/java/im/angry/openeuicc/ui/EuiccManagementFragment.kt +++ b/app/src/main/java/im/angry/openeuicc/ui/EuiccManagementFragment.kt @@ -81,7 +81,7 @@ class EuiccManagementFragment : Fragment(), EuiccFragmentMarker, EuiccProfilesCh } withContext(Dispatchers.Main) { - adapter.profiles = profiles.filter { it.profileClass == LocalProfileInfo.Clazz.Operational } + adapter.profiles = profiles.filter { it.profileClass != LocalProfileInfo.Clazz.Testing } adapter.notifyDataSetChanged() binding.swipeRefresh.isRefreshing = false }