summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Shuo Qian <shuoq@google.com> 2019-12-19 15:09:43 -0800
committer Shuo Qian <shuoq@google.com> 2019-12-20 00:15:52 +0000
commitec428aa4364f975cab28d32c90034dacc8b9cde4 (patch)
tree7d0fce4eb0e328d2de2df60cf9eb32c89e811bf9
parent472f9b1540d97640406b789517b787fbdc0410e4 (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-xapi/system-current.txt1
-rw-r--r--telephony/java/android/telephony/CarrierConfigManager.java23
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 "";
}
/**