From 7168caa1315dc2b0b51ce03031085cf4ed891bd4 Mon Sep 17 00:00:00 2001 From: Tomasz Wasilczyk Date: Mon, 24 Feb 2025 14:21:14 -0800 Subject: hasCarrierPrivileges: detailed messages about unexpected state Bug: 398737967 Change-Id: I8ef949d328ee4248eed839c9ff1e69c06d31fa2a Test: TH Flag: EXEMPT logging only --- telephony/java/android/telephony/TelephonyManager.java | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) (limited to 'telephony') diff --git a/telephony/java/android/telephony/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java index 6e0304b58489..fbba999bfb36 100644 --- a/telephony/java/android/telephony/TelephonyManager.java +++ b/telephony/java/android/telephony/TelephonyManager.java @@ -10579,9 +10579,19 @@ public class TelephonyManager { public boolean hasCarrierPrivileges(int subId) { try { ITelephony telephony = getITelephony(); - if (telephony != null) { - return telephony.getCarrierPrivilegeStatus(subId) - == CARRIER_PRIVILEGE_STATUS_HAS_ACCESS; + if (telephony == null) { + Rlog.e(TAG, "hasCarrierPrivileges: no Telephony service"); + return false; + } + int status = telephony.getCarrierPrivilegeStatus(subId); + switch (status) { + case CARRIER_PRIVILEGE_STATUS_HAS_ACCESS: + return true; + case CARRIER_PRIVILEGE_STATUS_NO_ACCESS: + return false; + default: + Rlog.e(TAG, "hasCarrierPrivileges: " + status); + return false; } } catch (RemoteException ex) { Rlog.e(TAG, "hasCarrierPrivileges RemoteException", ex); -- cgit v1.2.3-59-g8ed1b