Merge "Fix so that dual access points (AP) works." into qt-dev

am: 87592de6f2

Change-Id: Ie2326fb0ed826db83c4c45d085331323ca88cf8c
This commit is contained in:
James Mattis
2019-05-24 17:06:59 -07:00
committed by android-build-merger
2 changed files with 13 additions and 3 deletions

View File

@@ -1463,6 +1463,13 @@ bool WifiChip::isStaApConcurrencyAllowedInCurrentMode() {
return canCurrentModeSupportIfaceCombo(req_iface_combo);
}
bool WifiChip::isDualApAllowedInCurrentMode() {
// Check if we can support atleast 1 STA & 1 AP concurrently.
std::map<IfaceType, size_t> req_iface_combo;
req_iface_combo[IfaceType::AP] = 2;
return canCurrentModeSupportIfaceCombo(req_iface_combo);
}
std::string WifiChip::getFirstActiveWlanIfaceName() {
if (sta_ifaces_.size() > 0) return sta_ifaces_[0]->getName();
if (ap_ifaces_.size() > 0) return ap_ifaces_[0]->getName();
@@ -1488,10 +1495,12 @@ std::string WifiChip::allocateApOrStaIfaceName(uint32_t start_idx) {
}
// AP iface names start with idx 1 for modes supporting
// concurrent STA, else start with idx 0.
// concurrent STA and not dual AP, else start with idx 0.
std::string WifiChip::allocateApIfaceName() {
return allocateApOrStaIfaceName(
isStaApConcurrencyAllowedInCurrentMode() ? 1 : 0);
return allocateApOrStaIfaceName((isStaApConcurrencyAllowedInCurrentMode() &&
!isDualApAllowedInCurrentMode())
? 1
: 0);
}
// STA iface names start with idx 0.

View File

@@ -240,6 +240,7 @@ class WifiChip : public V1_3::IWifiChip {
bool canCurrentModeSupportIfaceOfType(IfaceType requested_type);
bool isValidModeId(ChipModeId mode_id);
bool isStaApConcurrencyAllowedInCurrentMode();
bool isDualApAllowedInCurrentMode();
std::string getFirstActiveWlanIfaceName();
std::string allocateApOrStaIfaceName(uint32_t start_idx);
std::string allocateApIfaceName();