diff --git a/api/system-current.txt b/api/system-current.txt index 2d0213fa3c0f6..a55156899a66f 100755 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -8897,6 +8897,7 @@ package android.telephony { } public class CarrierConfigManager { + method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getDefaultCarrierServicePackageName(); method @NonNull public static android.os.PersistableBundle getDefaultConfig(); method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void overrideConfig(int, @Nullable android.os.PersistableBundle); method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void updateConfigForPhoneId(int, String); diff --git a/telephony/java/android/telephony/CarrierConfigManager.java b/telephony/java/android/telephony/CarrierConfigManager.java index 813b9fa3e6983..4bb237f6c27ca 100755 --- a/telephony/java/android/telephony/CarrierConfigManager.java +++ b/telephony/java/android/telephony/CarrierConfigManager.java @@ -4050,13 +4050,28 @@ public class CarrierConfigManager { } } - /** {@hide} */ + /** + * Gets the package name for a default carrier service. + * @return the package name for a default carrier service; empty string if not available. + * + * @hide + */ + @NonNull + @SystemApi + @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getDefaultCarrierServicePackageName() { try { - return getICarrierConfigLoader().getDefaultCarrierServicePackageName(); - } catch (Throwable t) { - return null; + ICarrierConfigLoader loader = getICarrierConfigLoader(); + if (loader == null) { + Rlog.w(TAG, "getDefaultCarrierServicePackageName ICarrierConfigLoader is null"); + return ""; + } + return loader.getDefaultCarrierServicePackageName(); + } catch (RemoteException ex) { + Rlog.e(TAG, "getDefaultCarrierServicePackageName ICarrierConfigLoader is null" + + ex.toString()); } + return ""; } /**