diff options
| author | 2019-12-19 15:09:43 -0800 | |
|---|---|---|
| committer | 2019-12-20 00:15:52 +0000 | |
| commit | ec428aa4364f975cab28d32c90034dacc8b9cde4 (patch) | |
| tree | 7d0fce4eb0e328d2de2df60cf9eb32c89e811bf9 | |
| parent | 472f9b1540d97640406b789517b787fbdc0410e4 (diff) | |
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
| -rwxr-xr-x | api/system-current.txt | 1 | ||||
| -rw-r--r-- | telephony/java/android/telephony/CarrierConfigManager.java | 23 |
2 files changed, 20 insertions, 4 deletions
diff --git a/api/system-current.txt b/api/system-current.txt index 01cab53b1a94..6dad5c304958 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 f222c50471e9..9dca3901924c 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 ""; } /** |