summaryrefslogtreecommitdiff
path: root/service
diff options
context:
space:
mode:
authorTreeHugger Robot <treehugger-gerrit@google.com>2018-05-17 21:01:45 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2018-05-17 21:01:45 +0000
commit89b55624576c60a1a42b9111c8bde2011f57a407 (patch)
tree2199a3f461f852fdddd3afc33a1ff8e04f9bd835 /service
parentfaa9f916fa34a5ec0af6aa0f80b0d88dfdbb6ca8 (diff)
parent49ad9d4f0c52b44dcfce54bc594df902dda3df0c (diff)
Merge "WifiVendorHal: Change radio mode info parsing logic" into pi-dev
Diffstat (limited to 'service')
-rw-r--r--service/java/com/android/server/wifi/WifiVendorHal.java27
1 files changed, 9 insertions, 18 deletions
diff --git a/service/java/com/android/server/wifi/WifiVendorHal.java b/service/java/com/android/server/wifi/WifiVendorHal.java
index 1e622ca1b..6041a681f 100644
--- a/service/java/com/android/server/wifi/WifiVendorHal.java
+++ b/service/java/com/android/server/wifi/WifiVendorHal.java
@@ -2965,13 +2965,12 @@ public class WifiVendorHal {
mLog.e("Unexpected number of radio info in list " + radioModeInfoList.size());
return;
}
- // Not concurrency scenario, uninteresting...
- if (radioModeInfoList.size() == 1) return;
-
RadioModeInfo radioModeInfo0 = radioModeInfoList.get(0);
- RadioModeInfo radioModeInfo1 = radioModeInfoList.get(1);
+ RadioModeInfo radioModeInfo1 =
+ radioModeInfoList.size() == 2 ? radioModeInfoList.get(1) : null;
// Number of ifaces on each radio should be equal.
- if (radioModeInfo0.ifaceInfos.size() != radioModeInfo1.ifaceInfos.size()) {
+ if (radioModeInfo1 != null
+ && radioModeInfo0.ifaceInfos.size() != radioModeInfo1.ifaceInfos.size()) {
mLog.e("Unexpected number of iface info in list "
+ radioModeInfo0.ifaceInfos.size() + ", "
+ radioModeInfo1.ifaceInfos.size());
@@ -2984,7 +2983,7 @@ public class WifiVendorHal {
return;
}
// 2 ifaces simultaneous on 2 radios.
- if (numIfacesOnEachRadio == 1) {
+ if (radioModeInfoList.size() == 2 && numIfacesOnEachRadio == 1) {
// Iface on radio0 should be different from the iface on radio1 for DBS & SBS.
if (areSameIfaceNames(radioModeInfo0.ifaceInfos, radioModeInfo1.ifaceInfos)) {
mLog.e("Unexpected for both radio infos to have same iface");
@@ -2995,18 +2994,8 @@ public class WifiVendorHal {
} else {
handler.onSbs(radioModeInfo0.bandInfo);
}
- // 2 ifaces time sharing on 2 radios.
- } else {
- // Ifaces on radio0 & radio1 should be the same for MCC & SCC.
- if (!areSameIfaces(radioModeInfo0.ifaceInfos, radioModeInfo1.ifaceInfos)) {
- mLog.e("Unexpected for both radio infos to have different ifaces");
- return;
- }
- // Both radio0 & radio1 should now be in the same band (could be 5G or 2G).
- if (radioModeInfo0.bandInfo != radioModeInfo1.bandInfo) {
- mLog.e("Unexpected for both radio infos to have different band");
- return;
- }
+ // 2 ifaces time sharing on 1 radio.
+ } else if (radioModeInfoList.size() == 1 && numIfacesOnEachRadio == 2) {
IfaceInfo ifaceInfo0 = radioModeInfo0.ifaceInfos.get(0);
IfaceInfo ifaceInfo1 = radioModeInfo0.ifaceInfos.get(1);
if (ifaceInfo0.channel != ifaceInfo1.channel) {
@@ -3014,6 +3003,8 @@ public class WifiVendorHal {
} else {
handler.onScc(radioModeInfo0.bandInfo);
}
+ } else {
+ // Not concurrency scenario, uninteresting...
}
}
}