From 2ec9207779f231aa351b84bdba97348f7d6f4b5d Mon Sep 17 00:00:00 2001 From: isra el Date: Wed, 11 Mar 2026 11:26:32 +0300 Subject: [PATCH] fix(android): fix sim card info retrieval exception on older android versions --- .../main/java/com/vernu/sms/TextBeeUtils.java | 24 +++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/android/app/src/main/java/com/vernu/sms/TextBeeUtils.java b/android/app/src/main/java/com/vernu/sms/TextBeeUtils.java index a2a5120..e63fab2 100644 --- a/android/app/src/main/java/com/vernu/sms/TextBeeUtils.java +++ b/android/app/src/main/java/com/vernu/sms/TextBeeUtils.java @@ -199,9 +199,17 @@ public class TextBeeUtils { Log.d(TAG, "Could not get SIM slot index for subscription " + subscriptionInfo.getSubscriptionId()); } - // Get MCC + // Get MCC (getMccString() is API 29+; use getMcc() on older devices) try { - String mcc = subscriptionInfo.getMccString(); + String mcc = null; + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { + mcc = subscriptionInfo.getMccString(); + } else { + int mccInt = subscriptionInfo.getMcc(); + if (mccInt != Integer.MAX_VALUE) { + mcc = String.format("%03d", mccInt); + } + } if (mcc != null && !mcc.isEmpty()) { simInfo.setMcc(mcc); } @@ -209,9 +217,17 @@ public class TextBeeUtils { Log.d(TAG, "Could not get MCC for subscription " + subscriptionInfo.getSubscriptionId()); } - // Get MNC + // Get MNC (getMncString() is API 29+; use getMnc() on older devices) try { - String mnc = subscriptionInfo.getMncString(); + String mnc = null; + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { + mnc = subscriptionInfo.getMncString(); + } else { + int mncInt = subscriptionInfo.getMnc(); + if (mncInt != Integer.MAX_VALUE) { + mnc = String.valueOf(mncInt); + } + } if (mnc != null && !mnc.isEmpty()) { simInfo.setMnc(mnc); }