Added debug message if sim number is not available

This commit is contained in:
Juha Heinanen
2026-05-29 15:02:10 +03:00
parent 4a388345b2
commit 8e63d4bc35
+13 -16
View File
@@ -1380,39 +1380,36 @@ object Utils {
try { try {
if (Build.VERSION.SDK_INT >= 33) { if (Build.VERSION.SDK_INT >= 33) {
if (ctx.checkSelfPermission(Manifest.permission.READ_PHONE_NUMBERS) == if (ctx.checkSelfPermission(Manifest.permission.READ_PHONE_NUMBERS) ==
PackageManager.PERMISSION_GRANTED PackageManager.PERMISSION_GRANTED) {
) { val sm = ctx.getSystemService(Context.TELEPHONY_SUBSCRIPTION_SERVICE) as SubscriptionManager
val sm =
ctx.getSystemService(Context.TELEPHONY_SUBSCRIPTION_SERVICE) as SubscriptionManager
val number = sm.getPhoneNumber(subscriptionId) val number = sm.getPhoneNumber(subscriptionId)
if (number != "") { if (number != "") {
Log.d(TAG, "Retrieved SIM number $number via SubscriptionManager for $subscriptionId") Log.d(TAG, "Retrieved SIM number $number via SubscriptionManager for $subscriptionId")
return number return number
} else }
else
Log.d(TAG, "Did not get SIM number via SubscriptionManager for $subscriptionId") Log.d(TAG, "Did not get SIM number via SubscriptionManager for $subscriptionId")
} else }
else
Log.d(TAG, "No READ_PHONE_NUMBERS permission") Log.d(TAG, "No READ_PHONE_NUMBERS permission")
} else { }
if (checkPermissions( else {
ctx, arrayOf( if (checkPermissions(ctx, arrayOf(Manifest.permission.READ_PHONE_NUMBERS,
Manifest.permission.READ_PHONE_NUMBERS, Manifest.permission.READ_PHONE_STATE))) {
Manifest.permission.READ_PHONE_STATE
)
)
) {
val tm = ctx.getSystemService(Context.TELEPHONY_SERVICE) as TelephonyManager val tm = ctx.getSystemService(Context.TELEPHONY_SERVICE) as TelephonyManager
val targetTm = if (subscriptionId == SubscriptionManager.DEFAULT_SUBSCRIPTION_ID) val targetTm = if (subscriptionId == SubscriptionManager.DEFAULT_SUBSCRIPTION_ID)
tm tm
else else
tm.createForSubscriptionId(subscriptionId) tm.createForSubscriptionId(subscriptionId)
@Suppress("DEPRECATION") @Suppress("DEPRECATION")
val number = targetTm.line1Number val number = targetTm.line1Number
if (number != null && number != "") { if (number != null && number != "") {
Log.d(TAG, "Retrieved SIM number $number via TelephonyManager for $subscriptionId") Log.d(TAG, "Retrieved SIM number $number via TelephonyManager for $subscriptionId")
return number return number
} }
} else Log.d(TAG, "Could not retrieve SIM number")
}
else
Log.d(TAG, "No READ_PHONE_NUMBERS and/or READ_PHONE_STATE permissions") Log.d(TAG, "No READ_PHONE_NUMBERS and/or READ_PHONE_STATE permissions")
} }
} catch (e: Exception) { } catch (e: Exception) {