summaryrefslogtreecommitdiffstats
path: root/tests/wifitests/src/com/android/server/wifi/WifiVendorHalTest.java
diff options
context:
space:
mode:
authorAhmed ElArabawy <arabawy@google.com>2018-07-12 13:48:55 -0700
committerAhmed ElArabawy <arabawy@google.com>2018-07-13 18:01:26 -0700
commitc3075334e5ff8a0d9e086aeb1b56de5f2a8e3a92 (patch)
tree916cf0c7fff188a71d5b364022be94f0def115b4 /tests/wifitests/src/com/android/server/wifi/WifiVendorHalTest.java
parent619d1c3b79cc1913de10df40087cc04c7ba47284 (diff)
downloadandroid_frameworks_opt_net_wifi-c3075334e5ff8a0d9e086aeb1b56de5f2a8e3a92.tar.gz
android_frameworks_opt_net_wifi-c3075334e5ff8a0d9e086aeb1b56de5f2a8e3a92.tar.bz2
android_frameworks_opt_net_wifi-c3075334e5ff8a0d9e086aeb1b56de5f2a8e3a92.zip
SAR: Add conditional support for SAP/voice call
In current implementation, SAR support for sensors assume automatically that SoftAP is supported. This CL introduces a separate configurations for support of voice calls and softAP independent of SAR sensor support. Bug: 65174506 Test: Unit test Change-Id: I92eb15142888054b5c8070c2c9c73862f0e5fcdc Signed-off-by: Ahmed ElArabawy <arabawy@google.com>
Diffstat (limited to 'tests/wifitests/src/com/android/server/wifi/WifiVendorHalTest.java')
-rw-r--r--tests/wifitests/src/com/android/server/wifi/WifiVendorHalTest.java212
1 files changed, 163 insertions, 49 deletions
diff --git a/tests/wifitests/src/com/android/server/wifi/WifiVendorHalTest.java b/tests/wifitests/src/com/android/server/wifi/WifiVendorHalTest.java
index fc030b83c..f089ebbe7 100644
--- a/tests/wifitests/src/com/android/server/wifi/WifiVendorHalTest.java
+++ b/tests/wifitests/src/com/android/server/wifi/WifiVendorHalTest.java
@@ -2006,8 +2006,8 @@ public class WifiVendorHalTest {
@Test
public void testSelectTxPowerScenario_1_0() throws RemoteException {
// Create a SAR info record (no sensor support)
- SarInfo sarInfo = new SarInfo(false);
- sarInfo.mIsVoiceCall = true;
+ SarInfo sarInfo = new SarInfo();
+ sarInfo.isVoiceCall = true;
assertTrue(mWifiVendorHal.startVendorHalSta());
// Should fail because we exposed the 1.0 IWifiChip.
@@ -2023,8 +2023,12 @@ public class WifiVendorHalTest {
@Test
public void testSelectTxPowerScenario_1_1() throws RemoteException {
// Create a SAR info record (no sensor support)
- SarInfo sarInfo = new SarInfo(false);
- sarInfo.mIsVoiceCall = true;
+ SarInfo sarInfo = new SarInfo();
+ sarInfo.sarVoiceCallSupported = true;
+ sarInfo.sarSapSupported = false;
+ sarInfo.sarSensorSupported = false;
+
+ sarInfo.isVoiceCall = true;
// Now expose the 1.1 IWifiChip.
mWifiVendorHal = new WifiVendorHalSpyV1_1(mHalDeviceManager, mLooper.getLooper());
@@ -2045,8 +2049,12 @@ public class WifiVendorHalTest {
@Test
public void testSelectTxPowerScenario_1_2() throws RemoteException {
// Create a SAR info record (no sensor support)
- SarInfo sarInfo = new SarInfo(false);
- sarInfo.mIsVoiceCall = true;
+ SarInfo sarInfo = new SarInfo();
+ sarInfo.sarVoiceCallSupported = true;
+ sarInfo.sarSapSupported = false;
+ sarInfo.sarSensorSupported = false;
+
+ sarInfo.isVoiceCall = true;
// Now expose the 1.2 IWifiChip
mWifiVendorHal = new WifiVendorHalSpyV1_2(mHalDeviceManager, mLooper.getLooper());
@@ -2067,7 +2075,7 @@ public class WifiVendorHalTest {
@Test
public void testResetTxPowerScenario_1_0() throws RemoteException {
// Create a SAR info record (no sensor support)
- SarInfo sarInfo = new SarInfo(false);
+ SarInfo sarInfo = new SarInfo();
assertTrue(mWifiVendorHal.startVendorHalSta());
// Should fail because we exposed the 1.0 IWifiChip.
@@ -2083,7 +2091,10 @@ public class WifiVendorHalTest {
@Test
public void testResetTxPowerScenario_1_1() throws RemoteException {
// Create a SAR info record (no sensor support)
- SarInfo sarInfo = new SarInfo(false);
+ SarInfo sarInfo = new SarInfo();
+ sarInfo.sarVoiceCallSupported = true;
+ sarInfo.sarSapSupported = false;
+ sarInfo.sarSensorSupported = false;
// Now expose the 1.1 IWifiChip.
mWifiVendorHal = new WifiVendorHalSpyV1_1(mHalDeviceManager, mLooper.getLooper());
@@ -2105,8 +2116,11 @@ public class WifiVendorHalTest {
public void testResetTxPowerScenario_not_needed_1_1() throws RemoteException {
InOrder inOrder = inOrder(mIWifiChipV11);
- // Create a SAR info record (no sensor support)
- SarInfo sarInfo = new SarInfo(false);
+ // Create a SAR info record (no sensor or SAP support)
+ SarInfo sarInfo = new SarInfo();
+ sarInfo.sarVoiceCallSupported = true;
+ sarInfo.sarSapSupported = false;
+ sarInfo.sarSensorSupported = false;
// Now expose the 1.1 IWifiChip.
mWifiVendorHal = new WifiVendorHalSpyV1_1(mHalDeviceManager, mLooper.getLooper());
@@ -2134,8 +2148,11 @@ public class WifiVendorHalTest {
*/
@Test
public void testResetTxPowerScenario_1_2() throws RemoteException {
- // Create a SAR info record (no sensor support)
- SarInfo sarInfo = new SarInfo(false);
+ // Create a SAR info record (no sensor or SAP support)
+ SarInfo sarInfo = new SarInfo();
+ sarInfo.sarVoiceCallSupported = true;
+ sarInfo.sarSapSupported = false;
+ sarInfo.sarSensorSupported = false;
// Now expose the 1.2 IWifiChip.
mWifiVendorHal = new WifiVendorHalSpyV1_2(mHalDeviceManager, mLooper.getLooper());
@@ -2157,8 +2174,11 @@ public class WifiVendorHalTest {
public void testResetTxPowerScenario_not_needed_1_2() throws RemoteException {
InOrder inOrder = inOrder(mIWifiChipV12);
- // Create a SAR info record (no sensor support)
- SarInfo sarInfo = new SarInfo(false);
+ // Create a SAR info record (no sensor or SAP support)
+ SarInfo sarInfo = new SarInfo();
+ sarInfo.sarVoiceCallSupported = true;
+ sarInfo.sarSapSupported = false;
+ sarInfo.sarSensorSupported = false;
// Now expose the 1.2 IWifiChip.
mWifiVendorHal = new WifiVendorHalSpyV1_2(mHalDeviceManager, mLooper.getLooper());
@@ -2180,15 +2200,77 @@ public class WifiVendorHalTest {
mWifiVendorHal.stopVendorHal();
}
+ /**
+ * Test the selectTxPowerScenario HIDL method invocation with no sensor support, but with
+ * SAP and voice call support.
+ * When SAP is enabled, should result in SAP with near body scenario
+ * Using IWifiChip 1.2 interface
+ */
+ @Test
+ public void testSapScenarios_SelectTxPowerV1_2() throws RemoteException {
+ // Create a SAR info record (with sensor and SAP support)
+ SarInfo sarInfo = new SarInfo();
+ sarInfo.sarVoiceCallSupported = true;
+ sarInfo.sarSapSupported = true;
+ sarInfo.sarSensorSupported = false;
+
+ sarInfo.isWifiSapEnabled = true;
+
+ // Expose the 1.2 IWifiChip.
+ mWifiVendorHal = new WifiVendorHalSpyV1_2(mHalDeviceManager, mLooper.getLooper());
+ when(mIWifiChipV12.selectTxPowerScenario_1_2(anyInt())).thenReturn(mWifiStatusSuccess);
+
+ // ON_BODY_CELL_ON
+ assertTrue(mWifiVendorHal.startVendorHalSta());
+ assertTrue(mWifiVendorHal.selectTxPowerScenario(sarInfo));
+ verify(mIWifiChipV12).selectTxPowerScenario_1_2(
+ eq(android.hardware.wifi.V1_2.IWifiChip.TxPowerScenario.ON_BODY_CELL_ON));
+ verify(mIWifiChipV12, never()).resetTxPowerScenario();
+ mWifiVendorHal.stopVendorHal();
+ }
+
+ /**
+ * Test the selectTxPowerScenario HIDL method invocation with no sensor support, but with
+ * SAP and voice call support.
+ * When a voice call is ongoing, should result in cell with near head scenario
+ * Using IWifiChip 1.2 interface
+ */
+ @Test
+ public void testVoiceCallScenarios_SelectTxPowerV1_2() throws RemoteException {
+ // Create a SAR info record (with sensor and SAP support)
+ SarInfo sarInfo = new SarInfo();
+ sarInfo.sarVoiceCallSupported = true;
+ sarInfo.sarSapSupported = true;
+ sarInfo.sarSensorSupported = false;
+
+ sarInfo.isVoiceCall = true;
+
+ // Expose the 1.2 IWifiChip.
+ mWifiVendorHal = new WifiVendorHalSpyV1_2(mHalDeviceManager, mLooper.getLooper());
+ when(mIWifiChipV12.selectTxPowerScenario_1_2(anyInt())).thenReturn(mWifiStatusSuccess);
+
+ // ON_HEAD_CELL_ON
+ assertTrue(mWifiVendorHal.startVendorHalSta());
+ assertTrue(mWifiVendorHal.selectTxPowerScenario(sarInfo));
+ verify(mIWifiChipV12).selectTxPowerScenario_1_2(
+ eq(android.hardware.wifi.V1_2.IWifiChip.TxPowerScenario.ON_HEAD_CELL_ON));
+ verify(mIWifiChipV12, never()).resetTxPowerScenario();
+ mWifiVendorHal.stopVendorHal();
+ }
+
/**
* Test the selectTxPowerScenario HIDL method invocation with sensor related scenarios
* to IWifiChip 1.2 interface
*/
@Test
public void testHeadSensorScenarios_SelectTxPowerV1_2() throws RemoteException {
- // Create a SAR info record (with sensor support)
- SarInfo sarInfo = new SarInfo(true);
- sarInfo.mSensorState = SarInfo.SAR_SENSOR_NEAR_HEAD;
+ // Create a SAR info record (with sensor and SAP support)
+ SarInfo sarInfo = new SarInfo();
+ sarInfo.sarVoiceCallSupported = true;
+ sarInfo.sarSapSupported = true;
+ sarInfo.sarSensorSupported = true;
+
+ sarInfo.sensorState = SarInfo.SAR_SENSOR_NEAR_HEAD;
// Expose the 1.2 IWifiChip.
mWifiVendorHal = new WifiVendorHalSpyV1_2(mHalDeviceManager, mLooper.getLooper());
@@ -2212,9 +2294,13 @@ public class WifiVendorHalTest {
public void testSetTxPowerScenario_not_needed_1_2() throws RemoteException {
InOrder inOrder = inOrder(mIWifiChipV12);
- // Create a SAR info record (no sensor support)
- SarInfo sarInfo = new SarInfo(true);
- sarInfo.mSensorState = SarInfo.SAR_SENSOR_NEAR_HEAD;
+ // Create a SAR info record (no sensor and SAP support)
+ SarInfo sarInfo = new SarInfo();
+ sarInfo.sarVoiceCallSupported = true;
+ sarInfo.sarSapSupported = true;
+ sarInfo.sarSensorSupported = true;
+
+ sarInfo.sensorState = SarInfo.SAR_SENSOR_NEAR_HEAD;
// Now expose the 1.2 IWifiChip.
mWifiVendorHal = new WifiVendorHalSpyV1_2(mHalDeviceManager, mLooper.getLooper());
@@ -2244,9 +2330,13 @@ public class WifiVendorHalTest {
*/
@Test
public void testHandSensorScenarios_SelectTxPowerV1_2() throws RemoteException {
- // Create a SAR info record (with sensor support)
- SarInfo sarInfo = new SarInfo(true);
- sarInfo.mSensorState = SarInfo.SAR_SENSOR_NEAR_HAND;
+ // Create a SAR info record (with sensor and SAR support)
+ SarInfo sarInfo = new SarInfo();
+ sarInfo.sarVoiceCallSupported = true;
+ sarInfo.sarSapSupported = true;
+ sarInfo.sarSensorSupported = true;
+
+ sarInfo.sensorState = SarInfo.SAR_SENSOR_NEAR_HAND;
// Expose the 1.2 IWifiChip.
mWifiVendorHal = new WifiVendorHalSpyV1_2(mHalDeviceManager, mLooper.getLooper());
@@ -2260,7 +2350,7 @@ public class WifiVendorHalTest {
eq(android.hardware.wifi.V1_2.IWifiChip.TxPowerScenario.ON_BODY_CELL_OFF));
// Then select a scenario with cell on
- sarInfo.mIsVoiceCall = true;
+ sarInfo.isVoiceCall = true;
assertTrue(mWifiVendorHal.selectTxPowerScenario(sarInfo));
verify(mIWifiChipV12).selectTxPowerScenario_1_2(
eq(android.hardware.wifi.V1_2.IWifiChip.TxPowerScenario.ON_BODY_CELL_ON));
@@ -2275,9 +2365,13 @@ public class WifiVendorHalTest {
*/
@Test
public void testOnHeadCellOffOn_SelectTxPowerScenarioV1_1() throws RemoteException {
- // Create a SAR info record (with sensor support)
- SarInfo sarInfo = new SarInfo(true);
- sarInfo.mSensorState = SarInfo.SAR_SENSOR_NEAR_HEAD;
+ // Create a SAR info record (with sensor and SAP support)
+ SarInfo sarInfo = new SarInfo();
+ sarInfo.sarVoiceCallSupported = true;
+ sarInfo.sarSapSupported = true;
+ sarInfo.sarSensorSupported = true;
+
+ sarInfo.sensorState = SarInfo.SAR_SENSOR_NEAR_HEAD;
// Expose the 1.1 IWifiChip.
mWifiVendorHal = new WifiVendorHalSpyV1_1(mHalDeviceManager, mLooper.getLooper());
@@ -2291,7 +2385,7 @@ public class WifiVendorHalTest {
verify(mIWifiChipV11).resetTxPowerScenario();
// Then select a scenario with cell on
- sarInfo.mIsVoiceCall = true;
+ sarInfo.isVoiceCall = true;
assertTrue(mWifiVendorHal.selectTxPowerScenario(sarInfo));
verify(mIWifiChipV11).selectTxPowerScenario(
eq(android.hardware.wifi.V1_1.IWifiChip.TxPowerScenario.VOICE_CALL));
@@ -2306,9 +2400,13 @@ public class WifiVendorHalTest {
*/
@Test
public void testInvalidSelectTxPowerScenario_1_2() throws RemoteException {
- // Create a SAR info record (with sensor support)
- SarInfo sarInfo = new SarInfo(true);
- sarInfo.mSensorState = SAR_SENSOR_INVALID_STATE;
+ // Create a SAR info record (with sensor and SAP support)
+ SarInfo sarInfo = new SarInfo();
+ sarInfo.sarVoiceCallSupported = true;
+ sarInfo.sarSapSupported = true;
+ sarInfo.sarSensorSupported = true;
+
+ sarInfo.sensorState = SAR_SENSOR_INVALID_STATE;
// Expose the 1.2 IWifiChip.
mWifiVendorHal = new WifiVendorHalSpyV1_2(mHalDeviceManager, mLooper.getLooper());
@@ -2330,11 +2428,15 @@ public class WifiVendorHalTest {
*/
@Test
public void testSelectTxPowerScenario_1_2_head_sap() throws RemoteException {
- // Create a SAR info record (with sensor support)
- SarInfo sarInfo = new SarInfo(true);
- sarInfo.mSensorState = SarInfo.SAR_SENSOR_NEAR_HEAD;
- sarInfo.mIsWifiSapEnabled = true;
- sarInfo.mIsVoiceCall = false;
+ // Create a SAR info record (with sensor and SAP support)
+ SarInfo sarInfo = new SarInfo();
+ sarInfo.sarVoiceCallSupported = true;
+ sarInfo.sarSapSupported = true;
+ sarInfo.sarSensorSupported = true;
+
+ sarInfo.sensorState = SarInfo.SAR_SENSOR_NEAR_HEAD;
+ sarInfo.isWifiSapEnabled = true;
+ sarInfo.isVoiceCall = false;
// Expose the 1.2 IWifiChip.
mWifiVendorHal = new WifiVendorHalSpyV1_2(mHalDeviceManager, mLooper.getLooper());
@@ -2358,11 +2460,15 @@ public class WifiVendorHalTest {
*/
@Test
public void testSelectTxPowerScenario_1_2_head_sap_call() throws RemoteException {
- // Create a SAR info record (with sensor support)
- SarInfo sarInfo = new SarInfo(true);
- sarInfo.mSensorState = SarInfo.SAR_SENSOR_NEAR_HEAD;
- sarInfo.mIsWifiSapEnabled = true;
- sarInfo.mIsVoiceCall = true;
+ // Create a SAR info record (with sensor and SAP support)
+ SarInfo sarInfo = new SarInfo();
+ sarInfo.sarVoiceCallSupported = true;
+ sarInfo.sarSapSupported = true;
+ sarInfo.sarSensorSupported = true;
+
+ sarInfo.sensorState = SarInfo.SAR_SENSOR_NEAR_HEAD;
+ sarInfo.isWifiSapEnabled = true;
+ sarInfo.isVoiceCall = true;
// Expose the 1.2 IWifiChip.
mWifiVendorHal = new WifiVendorHalSpyV1_2(mHalDeviceManager, mLooper.getLooper());
@@ -2386,11 +2492,15 @@ public class WifiVendorHalTest {
*/
@Test
public void testSelectTxPowerScenario_1_2_freespace_sap() throws RemoteException {
- // Create a SAR info record (with sensor support)
- SarInfo sarInfo = new SarInfo(true);
- sarInfo.mSensorState = SarInfo.SAR_SENSOR_FREE_SPACE;
- sarInfo.mIsWifiSapEnabled = true;
- sarInfo.mIsVoiceCall = false;
+ // Create a SAR info record (with sensor and SAP support)
+ SarInfo sarInfo = new SarInfo();
+ sarInfo.sarVoiceCallSupported = true;
+ sarInfo.sarSapSupported = true;
+ sarInfo.sarSensorSupported = true;
+
+ sarInfo.sensorState = SarInfo.SAR_SENSOR_FREE_SPACE;
+ sarInfo.isWifiSapEnabled = true;
+ sarInfo.isVoiceCall = false;
// Expose the 1.2 IWifiChip.
mWifiVendorHal = new WifiVendorHalSpyV1_2(mHalDeviceManager, mLooper.getLooper());
@@ -2414,9 +2524,13 @@ public class WifiVendorHalTest {
@Test
public void testSelectTxPowerScenario_1_2_no_sensors_sap() throws RemoteException {
// Create a SAR info record (with no sensor support)
- SarInfo sarInfo = new SarInfo(false);
- sarInfo.mIsWifiSapEnabled = true;
- sarInfo.mIsVoiceCall = false;
+ SarInfo sarInfo = new SarInfo();
+ sarInfo.sarVoiceCallSupported = true;
+ sarInfo.sarSapSupported = true;
+ sarInfo.sarSensorSupported = true;
+
+ sarInfo.isWifiSapEnabled = true;
+ sarInfo.isVoiceCall = false;
// Expose the 1.2 IWifiChip.
mWifiVendorHal = new WifiVendorHalSpyV1_2(mHalDeviceManager, mLooper.getLooper());