From ec428aa4364f975cab28d32c90034dacc8b9cde4 Mon Sep 17 00:00:00 2001 From: Shuo Qian Date: Thu, 19 Dec 2019 15:09:43 -0800 Subject: [PATCH] Make getDefaultCarrierServicePackageName for Mainline Make this API system to resolve mainline concern. It is ok to make it system API as it is not a key in CarrierConfigManager. We can add permission check on the other side. Test: built Bug: 146583148 Change-Id: I7c4297d659635622ba4523abf2ce32e21f961ad0 --- api/system-current.txt | 1 + .../telephony/CarrierConfigManager.java | 23 +++++++++++++++---- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/api/system-current.txt b/api/system-current.txt index 01cab53b1a942..6dad5c304958d 100755 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -7912,6 +7912,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 f222c50471e9e..9dca3901924c3 100644 --- a/telephony/java/android/telephony/CarrierConfigManager.java +++ b/telephony/java/android/telephony/CarrierConfigManager.java @@ -4023,13 +4023,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 ""; } /**