Notify physical channel configuration with phoneId and subId

Physical channel configuration may be retrieved before SIM loaded. So
configuration will not be able to report via TelephonyRegistry.
Therefore, use phoneId to mapping record and notify

Bug: 123904518
Test: Manual test and make sure physical channel configuration is
displayed in RadioInfo

Change-Id: I11c89b9cf68c3f3d7523ad8dfc21520f44fa7ce3
This commit is contained in:
andychou
2019-06-19 20:54:32 +08:00
committed by Sooraj Sasindran
parent d4fd22c948
commit ce65922c73
2 changed files with 7 additions and 10 deletions

View File

@@ -1255,23 +1255,21 @@ public class TelephonyRegistry extends ITelephonyRegistry.Stub {
}
}
public void notifyPhysicalChannelConfiguration(List<PhysicalChannelConfig> configs) {
notifyPhysicalChannelConfigurationForSubscriber(SubscriptionManager.DEFAULT_SUBSCRIPTION_ID,
configs);
}
public void notifyPhysicalChannelConfigurationForSubscriber(int subId,
/**
* Notify physical channel configuration according to subscripton ID and phone ID
*/
public void notifyPhysicalChannelConfigurationForSubscriber(int phoneId, int subId,
List<PhysicalChannelConfig> configs) {
if (!checkNotifyPermission("notifyPhysicalChannelConfiguration()")) {
return;
}
if (VDBG) {
log("notifyPhysicalChannelConfiguration: subId=" + subId + " configs=" + configs);
log("notifyPhysicalChannelConfiguration: subId=" + subId + " phoneId=" + phoneId
+ " configs=" + configs);
}
synchronized (mRecords) {
int phoneId = SubscriptionManager.getPhoneId(subId);
if (validatePhoneId(phoneId)) {
mPhysicalChannelConfigs.set(phoneId, configs);
for (Record r : mRecords) {

View File

@@ -68,8 +68,7 @@ interface ITelephonyRegistry {
void notifyOtaspChanged(in int subId, in int otaspMode);
@UnsupportedAppUsage
void notifyCellInfo(in List<CellInfo> cellInfo);
void notifyPhysicalChannelConfiguration(in List<PhysicalChannelConfig> configs);
void notifyPhysicalChannelConfigurationForSubscriber(in int subId,
void notifyPhysicalChannelConfigurationForSubscriber(in int phoneId, in int subId,
in List<PhysicalChannelConfig> configs);
void notifyPreciseCallState(int phoneId, int subId, int ringingCallState,
int foregroundCallState, int backgroundCallState);