parent carrier id
The parent-child relationship can be used to further differentiate a
single carrier by different networks, by prepaid v.s. postpaid
or even by 4G v.s. 3G plan. parent carrier id it's an optional field.
A carrier id with a valid parent_carrier_id is considered fine-grained carrier id,
will not be returned as API getSimCarrierId but will be returned as
new API getSimPreciseCarrierId.
Bug: 110559381
Change-Id: Ib5b8e2a2e14412c2a3f178f80c24d67a86b0036f
diff --git a/src/com/android/phone/PhoneInterfaceManager.java b/src/com/android/phone/PhoneInterfaceManager.java
index 6ce8784..5401ddc 100755
--- a/src/com/android/phone/PhoneInterfaceManager.java
+++ b/src/com/android/phone/PhoneInterfaceManager.java
@@ -2069,6 +2069,29 @@
}
}
+ @Override
+ public int getSubscriptionPreciseCarrierId(int subId) {
+ final long identity = Binder.clearCallingIdentity();
+ try {
+ final Phone phone = getPhone(subId);
+ return phone == null ? TelephonyManager.UNKNOWN_CARRIER_ID
+ : phone.getPreciseCarrierId();
+ } finally {
+ Binder.restoreCallingIdentity(identity);
+ }
+ }
+
+ @Override
+ public String getSubscriptionPreciseCarrierName(int subId) {
+ final long identity = Binder.clearCallingIdentity();
+ try {
+ final Phone phone = getPhone(subId);
+ return phone == null ? null : phone.getPreciseCarrierName();
+ } finally {
+ Binder.restoreCallingIdentity(identity);
+ }
+ }
+
//
// Internal helper methods.
//