mirror of
https://github.com/Evolution-X/hardware_interfaces
synced 2026-02-01 11:36:00 +00:00
Merge "Wifi: MBO-OCE feature support (phase 1)"
This commit is contained in:
@@ -601,10 +601,10 @@ b74fe72cfe438f50e772e6a307657ff449d5bde83c15dd1f140ff2edbe73499c android.hardwar
|
||||
033eae03c09ebc75e82db37bc39995dfaa9086745577b44d9e14e9ccb48bd8cc android.hardware.vibrator@1.4::types
|
||||
3e01d4446cd69fd1c48f8572efd97487bc179564b32bd795800b97bbe10be37b android.hardware.wifi@1.4::IWifi
|
||||
a64467bae843569f0d465c5be7f0c7a5b987985b55a3ef4794dd5afc68538650 android.hardware.wifi.supplicant@1.3::ISupplicant
|
||||
0a7ff83fd0326b82232e1609da98f34960be11335df72fc407ad238d7bd0e081 android.hardware.wifi.supplicant@1.3::ISupplicantStaIface
|
||||
44445b8a03d7b9e68b2fbd954672c18a8fce9e32851b0692f4f4ab3407f86ecb android.hardware.wifi.supplicant@1.3::ISupplicantStaIface
|
||||
619fc9839ec6e369cfa9b28e3e9412e6885720ff8f9b5750c1b6ffb905120391 android.hardware.wifi.supplicant@1.3::ISupplicantStaIfaceCallback
|
||||
c9273429fcf98d797d3bb07fdba6f1be95bf960f9255cde169fd1ca4db85f856 android.hardware.wifi.supplicant@1.3::ISupplicantStaNetwork
|
||||
b0f8c9cd61a45a8c1b4a8e40913ecaea0921011cbe2305a6fa5a2feaa0d36c30 android.hardware.wifi.supplicant@1.3::types
|
||||
9b0a3ab6f4f74b971ed094426d8a443e29b512ff03e1ab50c07156396cdb2483 android.hardware.wifi.supplicant@1.3::types
|
||||
41c602462ccd1b19cfd645994be4de4c07fc197ff58a54e84476b31908e61e21 android.hardware.radio@1.5::types
|
||||
a8691c71747c3f14f7a043598e856425077f755e55990507a9132ad62f8ab3f7 android.hardware.radio@1.5::IRadio
|
||||
a62a93faf173b14a6175b683ebf61ffa568dc61f81e369d2dce7b1265e86cf2f android.hardware.radio@1.5::IRadioIndication
|
||||
|
||||
@@ -54,4 +54,26 @@ interface ISupplicantStaIface extends @1.2::ISupplicantStaIface {
|
||||
*/
|
||||
getConnectionCapabilities()
|
||||
generates (SupplicantStatus status, ConnectionCapabilities capabilities);
|
||||
|
||||
/**
|
||||
* Get wpa driver capabilities.
|
||||
*
|
||||
* @return status Status of the operation, and a bitmap of wpa driver features.
|
||||
* Possible status codes:
|
||||
* |SupplicantStatusCode.SUCCESS|,
|
||||
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
|
||||
*/
|
||||
getWpaDriverCapabilities() generates (SupplicantStatus status,
|
||||
bitfield<WpaDriverCapabilitiesMask> driverCapabilitiesMask);
|
||||
|
||||
/**
|
||||
* Set MBO cellular data status.
|
||||
*
|
||||
* @param available true means cellular data available, false otherwise.
|
||||
* @return status Status of the operation.
|
||||
* Possible status codes:
|
||||
* |SupplicantStatusCode.SUCCESS|,
|
||||
* |SupplicantStatusCode.FAILURE_UNKNOWN|
|
||||
*/
|
||||
setMboCellularDataStatus(bool available) generates (SupplicantStatus status);
|
||||
};
|
||||
|
||||
@@ -58,3 +58,17 @@ struct ConnectionCapabilities {
|
||||
*/
|
||||
WifiTechnology technology;
|
||||
};
|
||||
|
||||
/**
|
||||
* WPA Driver capability.
|
||||
*/
|
||||
enum WpaDriverCapabilitiesMask : uint32_t {
|
||||
/**
|
||||
* Multi Band Operation.
|
||||
*/
|
||||
MBO = 1 << 0,
|
||||
/**
|
||||
* Optimized Connectivity Experience.
|
||||
*/
|
||||
OCE = 1 << 1,
|
||||
};
|
||||
|
||||
@@ -41,6 +41,7 @@ using ::android::hardware::wifi::supplicant::V1_3::ConnectionCapabilities;
|
||||
using ::android::hardware::wifi::supplicant::V1_3::ISupplicantStaIface;
|
||||
using ::android::hardware::wifi::supplicant::V1_3::ISupplicantStaIfaceCallback;
|
||||
using ::android::hardware::wifi::supplicant::V1_3::ISupplicantStaNetwork;
|
||||
using ::android::hardware::wifi::supplicant::V1_3::WpaDriverCapabilitiesMask;
|
||||
|
||||
class SupplicantStaIfaceHidlTest : public ::testing::VtsHalHidlTargetTestBase {
|
||||
public:
|
||||
@@ -191,3 +192,38 @@ TEST_F(SupplicantStaIfaceHidlTest, GetConnectionCapabilities) {
|
||||
EXPECT_EQ(SupplicantStatusCode::SUCCESS, status.code);
|
||||
});
|
||||
}
|
||||
|
||||
/*
|
||||
* GetWpaDriverCapabilities
|
||||
*/
|
||||
TEST_F(SupplicantStaIfaceHidlTest, GetWpaDriverCapabilities) {
|
||||
sta_iface_->getWpaDriverCapabilities(
|
||||
[&](const SupplicantStatus& status, uint32_t) {
|
||||
EXPECT_EQ(SupplicantStatusCode::SUCCESS, status.code);
|
||||
});
|
||||
}
|
||||
|
||||
/*
|
||||
* SetMboCellularDataStatus
|
||||
*/
|
||||
TEST_F(SupplicantStaIfaceHidlTest, SetMboCellularDataStatus) {
|
||||
uint32_t driverCapMask = 0;
|
||||
|
||||
// Get MBO support from the device.
|
||||
sta_iface_->getWpaDriverCapabilities(
|
||||
[&](const SupplicantStatus& status, uint32_t driverCapMaskInternal) {
|
||||
EXPECT_EQ(SupplicantStatusCode::SUCCESS, status.code);
|
||||
|
||||
driverCapMask = driverCapMaskInternal;
|
||||
});
|
||||
|
||||
SupplicantStatusCode expectedStatusCode =
|
||||
(driverCapMask & WpaDriverCapabilitiesMask::MBO)
|
||||
? SupplicantStatusCode::SUCCESS
|
||||
: SupplicantStatusCode::FAILURE_UNKNOWN;
|
||||
|
||||
sta_iface_->setMboCellularDataStatus(
|
||||
true, [expectedStatusCode](const SupplicantStatus& status) {
|
||||
EXPECT_EQ(expectedStatusCode, status.code);
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user