summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/wifitests/src/com/android/server/wifi/SarInfoTest.java115
-rw-r--r--tests/wifitests/src/com/android/server/wifi/SarManagerTest.java524
-rw-r--r--tests/wifitests/src/com/android/server/wifi/WifiMetricsTest.java7
-rw-r--r--tests/wifitests/src/com/android/server/wifi/WifiVendorHalTest.java253
4 files changed, 43 insertions, 856 deletions
diff --git a/tests/wifitests/src/com/android/server/wifi/SarInfoTest.java b/tests/wifitests/src/com/android/server/wifi/SarInfoTest.java
index 72f48ffa4..96b6f99ea 100644
--- a/tests/wifitests/src/com/android/server/wifi/SarInfoTest.java
+++ b/tests/wifitests/src/com/android/server/wifi/SarInfoTest.java
@@ -147,78 +147,7 @@ public class SarInfoTest extends WifiBaseTest {
}
/**
- * Test that setting sensor (with wifi disabled), shouldReport returns false.
- */
- @Test
- public void testSarInfo_check_sensor_wifi_disabled() throws Exception {
- mSarInfo.sensorState = SarInfo.SAR_SENSOR_NEAR_HEAD;
- assertFalse(mSarInfo.shouldReport());
- }
-
- /**
- * Test that setting sensor (with some wifi mode enabled), shouldReport returns true.
- */
- @Test
- public void testSarInfo_check_sensor_wifi_enabled() throws Exception {
- mSarInfo.isWifiSapEnabled = true;
- assertTrue(mSarInfo.shouldReport());
- mSarInfo.reportingSuccessful();
-
- mSarInfo.sensorState = SarInfo.SAR_SENSOR_NEAR_HEAD;
- assertTrue(mSarInfo.shouldReport());
- }
-
- /**
- * Test that setting sensor (with some wifi mode enabled), shouldReport returns true
- * only the first time, following attempts should return false (since sensor state
- * did not change)
- */
- @Test
- public void testSarInfo_check_sensor_multiple_wifi_enabled() throws Exception {
- mSarInfo.isWifiScanOnlyEnabled = true;
- mSarInfo.sensorState = SarInfo.SAR_SENSOR_NEAR_HEAD;
- assertTrue(mSarInfo.shouldReport());
- mSarInfo.reportingSuccessful();
-
- assertFalse(mSarInfo.shouldReport());
- }
-
- /**
- * Test that setting sensor with different values (with wifi enabled),
- * shouldReport returns true every time.
- */
- @Test
- public void testSarInfo_check_sensor_multiple_values_wifi_enabled() throws Exception {
- mSarInfo.isWifiClientEnabled = true;
- mSarInfo.sensorState = SarInfo.SAR_SENSOR_NEAR_HEAD;
- assertTrue(mSarInfo.shouldReport());
- mSarInfo.reportingSuccessful();
-
- mSarInfo.sensorState = SarInfo.SAR_SENSOR_NEAR_BODY;
- assertTrue(mSarInfo.shouldReport());
- mSarInfo.reportingSuccessful();
-
- mSarInfo.sensorState = SarInfo.SAR_SENSOR_NEAR_HEAD;
- assertTrue(mSarInfo.shouldReport());
- }
-
- /**
- * Test setting sensor while wifi is disabled, then enable wifi.
- */
- @Test
- public void testSarInfo_change_sensors_while_wifi_disabled() throws Exception {
- mSarInfo.sensorState = SarInfo.SAR_SENSOR_NEAR_HEAD;
- assertFalse(mSarInfo.shouldReport());
-
- mSarInfo.isWifiClientEnabled = true;
- assertTrue(mSarInfo.shouldReport());
- mSarInfo.reportingSuccessful();
- }
-
- /**
* Test having a voice call, shouldReport should return true
- * Note: will need to report once before starting the call to remove
- * the effect of sensor state change.
*/
@Test
public void testSarInfo_voice_call_wifi_enabled() throws Exception {
@@ -232,8 +161,6 @@ public class SarInfoTest extends WifiBaseTest {
/**
* Test a change in earpiece status, shouldReport should return true
- * Note: will need to report once before making the change to remove
- * the effect of sensor state change.
*/
@Test
public void testSarInfo_earpiece_wifi_enabled() throws Exception {
@@ -247,8 +174,6 @@ public class SarInfoTest extends WifiBaseTest {
/**
* Test starting SAP, shouldReport should return true
- * Note: will need to report once before starting SAP to remove
- * the effect of sensor state change.
*/
@Test
public void testSarInfo_sap_wifi_enabled() throws Exception {
@@ -259,44 +184,4 @@ public class SarInfoTest extends WifiBaseTest {
mSarInfo.isWifiSapEnabled = true;
assertTrue(mSarInfo.shouldReport());
}
-
- /**
- * Test that setting sensor (with wifi enabled), reporting not successful
- * Then, we should expect that shouldReport returns true evne if we have
- * no further changes until reporting is successful.
- */
- @Test
- public void testSarInfo_check_sensor_reporting_no_success_reporting() throws Exception {
- mSarInfo.isWifiClientEnabled = true;
- mSarInfo.sensorState = SarInfo.SAR_SENSOR_NEAR_HEAD;
- assertTrue(mSarInfo.shouldReport());
-
- /* No call to reportingSuccessful() will be done */
- assertTrue(mSarInfo.shouldReport());
-
- /* Now call reportingSuccessful() */
- mSarInfo.reportingSuccessful();
- assertFalse(mSarInfo.shouldReport());
- }
-
- /**
- * Test that setting sensor (with wifi enabled), reporting successful
- * Then, changing the sensor state with no successful reporting.
- * Followed by reverting to the previous state.
- */
- @Test
- public void testSarInfo_check_sensor_reporting_no_success_reporting_revert() throws Exception {
- mSarInfo.isWifiClientEnabled = true;
- mSarInfo.sensorState = SarInfo.SAR_SENSOR_NEAR_HEAD;
- assertTrue(mSarInfo.shouldReport());
- mSarInfo.reportingSuccessful();
-
- /* Changing the sensor state and fail to report */
- mSarInfo.sensorState = SarInfo.SAR_SENSOR_NEAR_BODY;
- assertTrue(mSarInfo.shouldReport());
-
- /* Changing the sensor back to the same value as last reported */
- mSarInfo.sensorState = SarInfo.SAR_SENSOR_NEAR_HEAD;
- assertFalse(mSarInfo.shouldReport());
- }
}
diff --git a/tests/wifitests/src/com/android/server/wifi/SarManagerTest.java b/tests/wifitests/src/com/android/server/wifi/SarManagerTest.java
index 85eecbc0c..f6db3dd3f 100644
--- a/tests/wifitests/src/com/android/server/wifi/SarManagerTest.java
+++ b/tests/wifitests/src/com/android/server/wifi/SarManagerTest.java
@@ -19,19 +19,13 @@ package com.android.server.wifi;
import static android.telephony.TelephonyManager.CALL_STATE_IDLE;
import static android.telephony.TelephonyManager.CALL_STATE_OFFHOOK;
-import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
import static org.mockito.Mockito.*;
import android.content.Context;
import android.content.pm.ApplicationInfo;
-import android.hardware.Sensor;
-import android.hardware.SensorEvent;
-import android.hardware.SensorEventListener;
-import android.hardware.SystemSensorManager;
import android.net.wifi.WifiManager;
import android.os.Build;
import android.os.test.TestLooper;
@@ -50,11 +44,6 @@ import org.mockito.InOrder;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
-import java.lang.reflect.Constructor;
-import java.lang.reflect.Field;
-import java.util.ArrayList;
-import java.util.List;
-
/**
* unit tests for {@link com.android.server.wifi.SarManager}.
*/
@@ -62,12 +51,6 @@ import java.util.List;
public class SarManagerTest extends WifiBaseTest {
private static final String TAG = "WifiSarManagerTest";
private static final String OP_PACKAGE_NAME = "com.xxx";
- private static final String SAR_SENSOR_NAME = "com.google.sensor.sar";
-
- private static final int SAR_SENSOR_EVENT_FREE_SPACE = 1;
- private static final int SAR_SENSOR_EVENT_HAND = 2;
- private static final int SAR_SENSOR_EVENT_HEAD = 3;
- private static final int SAR_SENSOR_EVENT_BODY = 4;
private void enableDebugLogs() {
mSarMgr.enableVerboseLogging(1);
@@ -82,17 +65,12 @@ public class SarManagerTest extends WifiBaseTest {
private TestLooper mLooper;
private MockResources mResources;
private PhoneStateListener mPhoneStateListener;
- private List<Sensor> mSensorList;
- private Sensor mSensor;
private SarInfo mSarInfo;
@Mock private Context mContext;
- @Mock SensorEventListener mSensorEventListener;
- @Mock SystemSensorManager mSensorManager;
@Mock TelephonyManager mTelephonyManager;
@Mock private ApplicationInfo mMockApplInfo;
@Mock WifiNative mWifiNative;
- @Mock WifiMetrics mWifiMetrics;
@Before
public void setUp() throws Exception {
@@ -124,7 +102,7 @@ public class SarManagerTest extends WifiBaseTest {
* Helper function to capture SarInfo object
*/
private void captureSarInfo(WifiNative wifiNative) {
- /* Capture the SensorEventListener */
+ /* Capture the SarInfo */
ArgumentCaptor<SarInfo> sarInfoCaptor = ArgumentCaptor.forClass(SarInfo.class);
verify(wifiNative).selectTxPowerScenario(sarInfoCaptor.capture());
mSarInfo = sarInfoCaptor.getValue();
@@ -132,71 +110,18 @@ public class SarManagerTest extends WifiBaseTest {
}
/**
- * Helper function to create and prepare sensor info
- */
- private void prepareSensorInfo(boolean registerReturn) {
- /* Create a sensor object (note, this can not be mocked since it is a final class) */
- Constructor<Sensor> constructor =
- (Constructor<Sensor>) Sensor.class.getDeclaredConstructors()[0];
- constructor.setAccessible(true);
-
- try {
- mSensor = constructor.newInstance();
- } catch (Exception e) {
- fail("Failed to create a sensor object");
- }
-
- /* Now set the mStringType field with the proper field */
- Field declaredField = null;
- try {
- declaredField = Sensor.class.getDeclaredField("mStringType");
- declaredField.setAccessible(true);
- declaredField.set(mSensor, SAR_SENSOR_NAME);
- } catch (Exception e) {
- fail("Could not set sensor string type");
- }
-
- /* Prepare the sensor list */
- mSensorList = new ArrayList<Sensor>();
- mSensorList.add(mSensor);
- when(mSensorManager.getSensorList(Sensor.TYPE_ALL)).thenReturn(mSensorList);
- when(mSensorManager.registerListener(any(SensorEventListener.class), any(Sensor.class),
- anyInt())).thenReturn(registerReturn);
- }
-
- /**
* Helper function to set configuration for SAR and create the SAR Manager
*
*/
- private void createSarManager(boolean isSarEnabled, boolean isSarSapEnabled,
- boolean isSarSensorEnabled) {
+ private void createSarManager(boolean isSarEnabled, boolean isSarSapEnabled) {
mResources.setBoolean(
R.bool.config_wifi_framework_enable_sar_tx_power_limit, isSarEnabled);
mResources.setBoolean(
R.bool.config_wifi_framework_enable_soft_ap_sar_tx_power_limit,
isSarSapEnabled);
- mResources.setBoolean(
- R.bool.config_wifi_framework_enable_body_proximity_sar_tx_power_limit,
- isSarSensorEnabled);
- mResources.setString(R.string.config_wifi_sar_sensor_type, SAR_SENSOR_NAME);
-
- /* Set the event id configs */
- mResources.setInteger(R.integer.config_wifi_framework_sar_free_space_event_id,
- SAR_SENSOR_EVENT_FREE_SPACE);
- mResources.setInteger(R.integer.config_wifi_framework_sar_near_hand_event_id,
- SAR_SENSOR_EVENT_HAND);
- mResources.setInteger(R.integer.config_wifi_framework_sar_near_head_event_id,
- SAR_SENSOR_EVENT_HEAD);
- mResources.setInteger(R.integer.config_wifi_framework_sar_near_body_event_id,
- SAR_SENSOR_EVENT_BODY);
-
- /* Prepare sensor info only if SarSensorEnabled */
- if (isSarSensorEnabled) {
- prepareSensorInfo(true);
- }
mSarMgr = new SarManager(mContext, mTelephonyManager, mLooper.getLooper(),
- mWifiNative, mSensorManager, mWifiMetrics);
+ mWifiNative);
if (isSarEnabled) {
/* Capture the PhoneStateListener */
@@ -208,89 +133,17 @@ public class SarManagerTest extends WifiBaseTest {
assertNotNull(mPhoneStateListener);
}
- if (isSarSensorEnabled) {
- /* Capture the SensorEventListener */
- ArgumentCaptor<SensorEventListener> sensorEventListenerCaptor =
- ArgumentCaptor.forClass(SensorEventListener.class);
- verify(mSensorManager).registerListener(sensorEventListenerCaptor.capture(),
- any(Sensor.class), anyInt());
- mSensorEventListener = sensorEventListenerCaptor.getValue();
- assertNotNull(mSensorEventListener);
- }
-
- verify(mWifiMetrics, never()).incrementNumSarSensorRegistrationFailures();
-
- /* Enable logs from SarManager */
- enableDebugLogs();
- }
-
- /**
- * Helper function to create SarManager with some error cases for sensor handling
- */
- private void createSarManagerSensorNegTest(String configSensorName, boolean addToConfigs,
- boolean sensorRegisterReturn) {
- mResources.setBoolean(
- R.bool.config_wifi_framework_enable_sar_tx_power_limit, true);
- mResources.setBoolean(
- R.bool.config_wifi_framework_enable_soft_ap_sar_tx_power_limit, true);
- mResources.setBoolean(
- R.bool.config_wifi_framework_enable_body_proximity_sar_tx_power_limit, true);
- if (addToConfigs) {
- mResources.setString(R.string.config_wifi_sar_sensor_type, configSensorName);
- }
-
- /* Set the event id configs */
- mResources.setInteger(R.integer.config_wifi_framework_sar_free_space_event_id,
- SAR_SENSOR_EVENT_FREE_SPACE);
- mResources.setInteger(R.integer.config_wifi_framework_sar_near_hand_event_id,
- SAR_SENSOR_EVENT_HAND);
- mResources.setInteger(R.integer.config_wifi_framework_sar_near_head_event_id,
- SAR_SENSOR_EVENT_HEAD);
- mResources.setInteger(R.integer.config_wifi_framework_sar_near_body_event_id,
- SAR_SENSOR_EVENT_BODY);
-
- prepareSensorInfo(sensorRegisterReturn);
-
- mSarMgr = new SarManager(mContext, mTelephonyManager, mLooper.getLooper(),
- mWifiNative, mSensorManager, mWifiMetrics);
-
- /* Capture the PhoneStateListener */
- ArgumentCaptor<PhoneStateListener> phoneStateListenerCaptor =
- ArgumentCaptor.forClass(PhoneStateListener.class);
- verify(mTelephonyManager).listen(phoneStateListenerCaptor.capture(),
- eq(PhoneStateListener.LISTEN_CALL_STATE));
- mPhoneStateListener = phoneStateListenerCaptor.getValue();
- assertNotNull(mPhoneStateListener);
-
/* Enable logs from SarManager */
enableDebugLogs();
}
/**
- * Helper function to create and pass a sensor event
- */
- private void sendSensorEvent(int eventId) {
- SensorEvent event;
- Constructor<SensorEvent> constructor =
- (Constructor<SensorEvent>) SensorEvent.class.getDeclaredConstructors()[0];
- constructor.setAccessible(true);
-
- try {
- event = constructor.newInstance(1);
- event.values[0] = (float) eventId;
- mSensorEventListener.onSensorChanged(event);
- } catch (Exception e) {
- fail("Failed to create a Sensor Event");
- }
- }
-
- /**
* Test that we do register the telephony call state listener on devices which do support
* setting/resetting Tx power limit.
*/
@Test
public void testSarMgr_enabledTxPowerScenario_registerPhone() throws Exception {
- createSarManager(true, false, false);
+ createSarManager(true, false);
verify(mTelephonyManager).listen(any(), eq(PhoneStateListener.LISTEN_CALL_STATE));
}
@@ -300,7 +153,7 @@ public class SarManagerTest extends WifiBaseTest {
*/
@Test
public void testSarMgr_disabledTxPowerScenario_registerPhone() throws Exception {
- createSarManager(false, false, false);
+ createSarManager(false, false);
verify(mTelephonyManager, never()).listen(any(), anyInt());
}
@@ -312,7 +165,7 @@ public class SarManagerTest extends WifiBaseTest {
*/
@Test
public void testSarMgr_enabledTxPowerScenario_wifiOn_offHook() throws Exception {
- createSarManager(true, false, false);
+ createSarManager(true, false);
InOrder inOrder = inOrder(mWifiNative);
@@ -337,7 +190,7 @@ public class SarManagerTest extends WifiBaseTest {
*/
@Test
public void testSarMgr_enabledTxPowerScenario_offHook_wifiOn() throws Exception {
- createSarManager(true, false, false);
+ createSarManager(true, false);
InOrder inOrder = inOrder(mWifiNative);
@@ -359,7 +212,7 @@ public class SarManagerTest extends WifiBaseTest {
*/
@Test
public void testSarMgr_enabledTxPowerScenario_wifiOn_offHook_onHook() throws Exception {
- createSarManager(true, false, false);
+ createSarManager(true, false);
InOrder inOrder = inOrder(mWifiNative);
@@ -397,7 +250,7 @@ public class SarManagerTest extends WifiBaseTest {
*/
@Test
public void testSarMgr_enabledTxPowerScenario_wifiOff_offHook_onHook() throws Exception {
- createSarManager(true, false, false);
+ createSarManager(true, false);
InOrder inOrder = inOrder(mWifiNative);
@@ -421,7 +274,7 @@ public class SarManagerTest extends WifiBaseTest {
*/
@Test
public void testSarMgr_enabledSar_wifiOn_offHook_wifiOff_onHook() throws Exception {
- createSarManager(true, false, false);
+ createSarManager(true, false);
InOrder inOrder = inOrder(mWifiNative);
@@ -458,7 +311,7 @@ public class SarManagerTest extends WifiBaseTest {
*/
@Test
public void testSarMgr_enabledSar_wifiOff_offHook_onHook_wifiOn() throws Exception {
- createSarManager(true, false, false);
+ createSarManager(true, false);
InOrder inOrder = inOrder(mWifiNative);
@@ -484,7 +337,7 @@ public class SarManagerTest extends WifiBaseTest {
*/
@Test
public void testSarMgr_enabledSar_offHook_wifiOnOff_onHook() throws Exception {
- createSarManager(true, false, false);
+ createSarManager(true, false);
InOrder inOrder = inOrder(mWifiNative);
@@ -515,7 +368,7 @@ public class SarManagerTest extends WifiBaseTest {
*/
@Test
public void testSarMgr_enabledSar_error_wifiOn_offOnHook() throws Exception {
- createSarManager(true, false, false);
+ createSarManager(true, false);
when(mWifiNative.selectTxPowerScenario(any(SarInfo.class))).thenReturn(false);
InOrder inOrder = inOrder(mWifiNative);
@@ -540,274 +393,12 @@ public class SarManagerTest extends WifiBaseTest {
}
/**
- * Test that for a device that has SAR enabled, with sar sensor enabled,
- * wifi enabled, Then Tx power scenarios follow events from sensor for body/hand/head/none
- */
- @Test
- public void testSarMgr_sarSensorOn_WifiOn_sensorEventsTriggered() throws Exception {
- createSarManager(true, true, true);
-
- InOrder inOrder = inOrder(mWifiNative);
-
- /* Enable Wifi Client */
- mSarMgr.setClientWifiState(WifiManager.WIFI_STATE_ENABLED);
- captureSarInfo(mWifiNative);
-
- inOrder.verify(mWifiNative).selectTxPowerScenario(eq(mSarInfo));
- assertEquals(SarInfo.SAR_SENSOR_FREE_SPACE, mSarInfo.sensorState);
-
- /* Sensor event */
- sendSensorEvent(SAR_SENSOR_EVENT_BODY);
- inOrder.verify(mWifiNative).selectTxPowerScenario(eq(mSarInfo));
- assertEquals(SarInfo.SAR_SENSOR_NEAR_BODY, mSarInfo.sensorState);
- assertFalse(mSarInfo.isVoiceCall);
-
- /* Sensor event */
- sendSensorEvent(SAR_SENSOR_EVENT_HEAD);
- inOrder.verify(mWifiNative).selectTxPowerScenario(eq(mSarInfo));
- assertEquals(SarInfo.SAR_SENSOR_NEAR_HEAD, mSarInfo.sensorState);
- assertFalse(mSarInfo.isVoiceCall);
-
- /* Sensor event */
- sendSensorEvent(SAR_SENSOR_EVENT_HAND);
- inOrder.verify(mWifiNative).selectTxPowerScenario(eq(mSarInfo));
- assertEquals(SarInfo.SAR_SENSOR_NEAR_HAND, mSarInfo.sensorState);
- assertFalse(mSarInfo.isVoiceCall);
-
- /* Sensor event */
- sendSensorEvent(SAR_SENSOR_EVENT_FREE_SPACE);
- inOrder.verify(mWifiNative).selectTxPowerScenario(eq(mSarInfo));
- assertEquals(SarInfo.SAR_SENSOR_FREE_SPACE, mSarInfo.sensorState);
- assertFalse(mSarInfo.isVoiceCall);
- }
-
- /**
- * Test that for a device that has SAR enabled, with sar sensor enabled,
- * wifi enabled, cellOn,
- * then Tx power scenarios follow events from sensor for body/hand/head/none
- */
- @Test
- public void testSarMgr_sarSensorOn_wifiOn_cellOn_sensorEventsTriggered() throws Exception {
- createSarManager(true, true, true);
-
- InOrder inOrder = inOrder(mWifiNative);
-
- /* Enable Wifi Client */
- mSarMgr.setClientWifiState(WifiManager.WIFI_STATE_ENABLED);
- captureSarInfo(mWifiNative);
-
- /* Should get the an event with no calls */
- inOrder.verify(mWifiNative).selectTxPowerScenario(eq(mSarInfo));
- assertEquals(SarInfo.SAR_SENSOR_FREE_SPACE, mSarInfo.sensorState);
- assertFalse(mSarInfo.isVoiceCall);
-
- /* Start a Cell call */
- mPhoneStateListener.onCallStateChanged(CALL_STATE_OFFHOOK, "");
- inOrder.verify(mWifiNative).selectTxPowerScenario(any(SarInfo.class));
- assertEquals(SarInfo.SAR_SENSOR_FREE_SPACE, mSarInfo.sensorState);
- assertTrue(mSarInfo.isVoiceCall);
-
- /* Sensor event */
- sendSensorEvent(SAR_SENSOR_EVENT_BODY);
- inOrder.verify(mWifiNative).selectTxPowerScenario(eq(mSarInfo));
- assertEquals(SarInfo.SAR_SENSOR_NEAR_BODY, mSarInfo.sensorState);
- assertTrue(mSarInfo.isVoiceCall);
-
- /* Sensor event */
- sendSensorEvent(SAR_SENSOR_EVENT_HEAD);
- inOrder.verify(mWifiNative).selectTxPowerScenario(eq(mSarInfo));
- assertEquals(SarInfo.SAR_SENSOR_NEAR_HEAD, mSarInfo.sensorState);
- assertTrue(mSarInfo.isVoiceCall);
-
- /* Sensor event */
- sendSensorEvent(SAR_SENSOR_EVENT_HAND);
- inOrder.verify(mWifiNative).selectTxPowerScenario(eq(mSarInfo));
- assertEquals(SarInfo.SAR_SENSOR_NEAR_HAND, mSarInfo.sensorState);
- assertTrue(mSarInfo.isVoiceCall);
-
- /* Sensor event */
- sendSensorEvent(SAR_SENSOR_EVENT_FREE_SPACE);
- inOrder.verify(mWifiNative).selectTxPowerScenario(eq(mSarInfo));
- assertEquals(SarInfo.SAR_SENSOR_FREE_SPACE, mSarInfo.sensorState);
- assertTrue(mSarInfo.isVoiceCall);
- }
-
- /**
- * Test that for a device that has SAR enabled, with sar sensor enabled,
- * wifi enabled, device next to user head, a call has started and stopped,
- * then Tx power scenarios should adjust properly
- */
- @Test
- public void testSarMgr_sarSensorOn_wifiOn_onHead_cellOnOff() throws Exception {
- createSarManager(true, true, true);
-
- InOrder inOrder = inOrder(mWifiNative);
-
- /* Enable Wifi Client */
- mSarMgr.setClientWifiState(WifiManager.WIFI_STATE_ENABLED);
- captureSarInfo(mWifiNative);
-
- inOrder.verify(mWifiNative).selectTxPowerScenario(eq(mSarInfo));
- assertEquals(SarInfo.SAR_SENSOR_FREE_SPACE, mSarInfo.sensorState);
- assertFalse(mSarInfo.isVoiceCall);
-
- /* Sensor event */
- sendSensorEvent(SAR_SENSOR_EVENT_HEAD);
- inOrder.verify(mWifiNative).selectTxPowerScenario(eq(mSarInfo));
- assertEquals(SarInfo.SAR_SENSOR_NEAR_HEAD, mSarInfo.sensorState);
- assertFalse(mSarInfo.isVoiceCall);
-
-
- /* Start a Cell call */
- mPhoneStateListener.onCallStateChanged(CALL_STATE_OFFHOOK, "");
- inOrder.verify(mWifiNative).selectTxPowerScenario(eq(mSarInfo));
- assertEquals(SarInfo.SAR_SENSOR_NEAR_HEAD, mSarInfo.sensorState);
- assertTrue(mSarInfo.isVoiceCall);
-
- /* End a Cell call */
- mPhoneStateListener.onCallStateChanged(CALL_STATE_IDLE, "");
- inOrder.verify(mWifiNative).selectTxPowerScenario(eq(mSarInfo));
- assertEquals(SarInfo.SAR_SENSOR_NEAR_HEAD, mSarInfo.sensorState);
- assertFalse(mSarInfo.isVoiceCall);
- }
-
- /**
- * Test that for a device that has SAR enabled, with sar sensor enabled,
- * all wifi states disabled, when a sensor event is triggered no setting of Tx power scenario
- * is initiated.
- * Then when Wifi is enabled, Tx power setting will be initiated to reflect the sensor event.
- */
- @Test
- public void testSarMgr_sarSensorOn_WifiOffOn_sensorEventTriggered() throws Exception {
- createSarManager(true, true, true);
-
- InOrder inOrder = inOrder(mWifiNative);
-
- /* Sensor event */
- sendSensorEvent(SAR_SENSOR_EVENT_BODY);
- inOrder.verify(mWifiNative, never()).selectTxPowerScenario(any(SarInfo.class));
-
- /* Enable Wifi Client */
- mSarMgr.setClientWifiState(WifiManager.WIFI_STATE_ENABLED);
- captureSarInfo(mWifiNative);
-
- inOrder.verify(mWifiNative).selectTxPowerScenario(eq(mSarInfo));
- assertEquals(SarInfo.SAR_SENSOR_NEAR_BODY, mSarInfo.sensorState);
- assertFalse(mSarInfo.isVoiceCall);
- }
-
- /**
- * Test the error case when SAR sensor name does not exist in configuration.
- * In this case, SarManager should assume operation near head all the time.
- */
- @Test
- public void testSarMgr_error_sar_name_does_not_exist() throws Exception {
- createSarManagerSensorNegTest(SAR_SENSOR_NAME, false, true);
-
- InOrder inOrder = inOrder(mWifiNative);
-
- verify(mSensorManager, never()).registerListener(any(SensorEventListener.class),
- any(Sensor.class), anyInt());
- verify(mWifiMetrics).incrementNumSarSensorRegistrationFailures();
-
- /* Enable WiFi Client */
- mSarMgr.setClientWifiState(WifiManager.WIFI_STATE_ENABLED);
- captureSarInfo(mWifiNative);
-
- inOrder.verify(mWifiNative).selectTxPowerScenario(eq(mSarInfo));
- assertEquals(SarInfo.SAR_SENSOR_NEAR_HEAD, mSarInfo.sensorState);
- assertFalse(mSarInfo.isVoiceCall);
-
- /* Start a Cell Call */
- mPhoneStateListener.onCallStateChanged(CALL_STATE_OFFHOOK, "");
- inOrder.verify(mWifiNative).selectTxPowerScenario(eq(mSarInfo));
- assertEquals(SarInfo.SAR_SENSOR_NEAR_HEAD, mSarInfo.sensorState);
- assertTrue(mSarInfo.isVoiceCall);
-
- /* End the call */
- mPhoneStateListener.onCallStateChanged(CALL_STATE_IDLE, "");
- inOrder.verify(mWifiNative).selectTxPowerScenario(eq(mSarInfo));
- assertEquals(SarInfo.SAR_SENSOR_NEAR_HEAD, mSarInfo.sensorState);
- assertFalse(mSarInfo.isVoiceCall);
- }
-
- /**
- * Test the error case when SarManager uses the wrong sensor name in configuration.
- * In this case, SarManager should assume operation near head all the time.
- */
- @Test
- public void testSarMgr_error_sar_name_mismatch() throws Exception {
- createSarManagerSensorNegTest("wrong.sensor.name", true, true);
-
- InOrder inOrder = inOrder(mWifiNative);
-
- verify(mSensorManager, never()).registerListener(any(SensorEventListener.class),
- any(Sensor.class), anyInt());
- verify(mWifiMetrics).incrementNumSarSensorRegistrationFailures();
-
- /* Enable WiFi Client */
- mSarMgr.setClientWifiState(WifiManager.WIFI_STATE_ENABLED);
- captureSarInfo(mWifiNative);
-
- inOrder.verify(mWifiNative).selectTxPowerScenario(eq(mSarInfo));
- assertEquals(SarInfo.SAR_SENSOR_NEAR_HEAD, mSarInfo.sensorState);
- assertFalse(mSarInfo.isVoiceCall);
-
- /* Start a Cell Call */
- mPhoneStateListener.onCallStateChanged(CALL_STATE_OFFHOOK, "");
- inOrder.verify(mWifiNative).selectTxPowerScenario(eq(mSarInfo));
- assertEquals(SarInfo.SAR_SENSOR_NEAR_HEAD, mSarInfo.sensorState);
- assertTrue(mSarInfo.isVoiceCall);
-
- /* End the call */
- mPhoneStateListener.onCallStateChanged(CALL_STATE_IDLE, "");
- inOrder.verify(mWifiNative).selectTxPowerScenario(eq(mSarInfo));
- assertEquals(SarInfo.SAR_SENSOR_NEAR_HEAD, mSarInfo.sensorState);
- assertFalse(mSarInfo.isVoiceCall);
- }
-
- /**
- * Test the error case when SarManager fails to register as a SensorEventListener.
- * In this case, SarManager should assume operation near head all the time.
- */
- @Test
- public void testSarMgr_error_sar_register_failure() throws Exception {
- createSarManagerSensorNegTest(SAR_SENSOR_NAME, true, false);
-
- verify(mSensorManager).registerListener(any(SensorEventListener.class),
- any(Sensor.class), anyInt());
- verify(mWifiMetrics).incrementNumSarSensorRegistrationFailures();
-
- InOrder inOrder = inOrder(mWifiNative);
-
- /* Enable WiFi Client */
- mSarMgr.setClientWifiState(WifiManager.WIFI_STATE_ENABLED);
- captureSarInfo(mWifiNative);
-
- inOrder.verify(mWifiNative).selectTxPowerScenario(eq(mSarInfo));
- assertEquals(SarInfo.SAR_SENSOR_NEAR_HEAD, mSarInfo.sensorState);
- assertFalse(mSarInfo.isVoiceCall);
-
- /* Start a Cell Call */
- mPhoneStateListener.onCallStateChanged(CALL_STATE_OFFHOOK, "");
- inOrder.verify(mWifiNative).selectTxPowerScenario(eq(mSarInfo));
- assertEquals(SarInfo.SAR_SENSOR_NEAR_HEAD, mSarInfo.sensorState);
- assertTrue(mSarInfo.isVoiceCall);
-
- /* End the call */
- mPhoneStateListener.onCallStateChanged(CALL_STATE_IDLE, "");
- inOrder.verify(mWifiNative).selectTxPowerScenario(eq(mSarInfo));
- assertEquals(SarInfo.SAR_SENSOR_NEAR_HEAD, mSarInfo.sensorState);
- assertFalse(mSarInfo.isVoiceCall);
- }
-
- /**
* Test that Start of SoftAP for a device that does not have SAR enabled does not result in
* setting the Tx power scenario
*/
@Test
public void testSarMgr_disabledTxPowerScenario_sapOn() throws Exception {
- createSarManager(false, false, false);
+ createSarManager(false, false);
/* Enable WiFi SoftAP State */
mSarMgr.setSapWifiState(WifiManager.WIFI_AP_STATE_ENABLED);
@@ -816,11 +407,11 @@ public class SarManagerTest extends WifiBaseTest {
}
/**
- * Test that Start of SoftAP for a device that has SAR enabled, SAR sensor disabled.
+ * Test that Start of SoftAP for a device that has SAR enabled.
*/
@Test
public void testSarMgr_enabledTxPowerScenario_sapOn() throws Exception {
- createSarManager(true, false, false);
+ createSarManager(true, false);
InOrder inOrder = inOrder(mWifiNative);
@@ -835,83 +426,12 @@ public class SarManagerTest extends WifiBaseTest {
}
/**
- * Test that for a device that has SAR enabled, SAR sensor enabled, near head, and when
- * wifi sta is enabled, turning on sap then turning it off.
- */
- @Test
- public void testSarMgr_enabledTxPowerScenario_staOn_sapOnOff() throws Exception {
- createSarManager(true, true, true);
-
- InOrder inOrder = inOrder(mWifiNative);
-
- /* Sensor event */
- sendSensorEvent(SAR_SENSOR_EVENT_HEAD);
- inOrder.verify(mWifiNative, never()).selectTxPowerScenario(any(SarInfo.class));
-
- /* Enable WiFi Client State */
- mSarMgr.setClientWifiState(WifiManager.WIFI_STATE_ENABLED);
- captureSarInfo(mWifiNative);
-
- inOrder.verify(mWifiNative).selectTxPowerScenario(eq(mSarInfo));
- assertEquals(SarInfo.SAR_SENSOR_NEAR_HEAD, mSarInfo.sensorState);
- assertFalse(mSarInfo.isWifiSapEnabled);
-
- /* Enable WiFi SoftAP State */
- mSarMgr.setSapWifiState(WifiManager.WIFI_AP_STATE_ENABLED);
- inOrder.verify(mWifiNative).selectTxPowerScenario(eq(mSarInfo));
- assertEquals(SarInfo.SAR_SENSOR_NEAR_HEAD, mSarInfo.sensorState);
- assertTrue(mSarInfo.isWifiSapEnabled);
-
- /* Disable Wifi SoftAP state */
- mSarMgr.setSapWifiState(WifiManager.WIFI_AP_STATE_DISABLED);
- inOrder.verify(mWifiNative).selectTxPowerScenario(eq(mSarInfo));
- assertEquals(SarInfo.SAR_SENSOR_NEAR_HEAD, mSarInfo.sensorState);
- assertFalse(mSarInfo.isWifiSapEnabled);
- }
-
- /**
- * Test that for a device that has SAR enabled, SAR sensor enabled, Near body, and when
- * disabling wifi softAP while Wifi Sta is also disabled, no update to the HAL for Tx
- * power scenario is issued.
- * Then, when wifi client is enabled, the Tx Power scenario is set.
- * This is to verify that no call to update tx power when all wifi modes are disabled.
- */
- @Test
- public void testSarMgr_enabledTxPowerScenario_sapOnOff_staOffOn() throws Exception {
- createSarManager(true, true, true);
-
- InOrder inOrder = inOrder(mWifiNative);
-
- /* Sensor event */
- sendSensorEvent(SAR_SENSOR_EVENT_BODY);
- inOrder.verify(mWifiNative, never()).selectTxPowerScenario(any(SarInfo.class));
-
- /* Enable WiFi softAP State */
- mSarMgr.setSapWifiState(WifiManager.WIFI_AP_STATE_ENABLED);
- captureSarInfo(mWifiNative);
-
- inOrder.verify(mWifiNative).selectTxPowerScenario(eq(mSarInfo));
- assertEquals(SarInfo.SAR_SENSOR_NEAR_BODY, mSarInfo.sensorState);
- assertTrue(mSarInfo.isWifiSapEnabled);
-
- /* Disable Wifi SoftAP state */
- mSarMgr.setSapWifiState(WifiManager.WIFI_AP_STATE_DISABLED);
- inOrder.verify(mWifiNative, never()).selectTxPowerScenario(any(SarInfo.class));
-
- /* Enable WiFi Clinet State */
- mSarMgr.setClientWifiState(WifiManager.WIFI_STATE_ENABLED);
- inOrder.verify(mWifiNative).selectTxPowerScenario(eq(mSarInfo));
- assertEquals(SarInfo.SAR_SENSOR_NEAR_BODY, mSarInfo.sensorState);
- assertFalse(mSarInfo.isWifiSapEnabled);
- }
-
- /**
* Test that for a device that has SAR enabled, when scan-only state is enabled with both SoftAP
* and Client states disabled, the SarInfo is reported with proper values.
*/
@Test
public void testSarMgr_enabledTxPowerScenario_staOff_sapOff_scanOnlyOn() throws Exception {
- createSarManager(true, false, false);
+ createSarManager(true, false);
/* Enable Wifi ScanOnly State */
mSarMgr.setScanOnlyWifiState(WifiManager.WIFI_STATE_ENABLED);
@@ -928,7 +448,7 @@ public class SarManagerTest extends WifiBaseTest {
*/
@Test
public void testSarMgr_enabledTxPowerScenario_staOn_sapOff_scanOnlyOn() throws Exception {
- createSarManager(true, false, false);
+ createSarManager(true, false);
InOrder inOrder = inOrder(mWifiNative);
@@ -946,7 +466,7 @@ public class SarManagerTest extends WifiBaseTest {
}
/**
- * Test the success case for for devices supporting SAR, with no SAR sensor support,
+ * Test the success case for for devices supporting SAR,
* Wifi enabled, SoftAP enabled, wifi disabled, scan-only enabled, SoftAP disabled.
*
* SarManager should report these changes as they occur(only when changes occur to
@@ -954,7 +474,7 @@ public class SarManagerTest extends WifiBaseTest {
*/
@Test
public void testSarMgr_enabledTxPowerScenario_wifi_sap_scanOnly() throws Exception {
- createSarManager(true, false, false);
+ createSarManager(true, false);
InOrder inOrder = inOrder(mWifiNative);
@@ -991,13 +511,13 @@ public class SarManagerTest extends WifiBaseTest {
}
/**
- * Test the error case for devices supporting SAR, with no SAR sensor support,
+ * Test the error case for devices supporting SAR,
* Wifi enabled, SoftAP enabled, wifi disabled, scan-only enabled, SoftAP disabled
* Throughout this test case, calls to the hal return with error.
*/
@Test
public void testSarMgr_enabledTxPowerScenario_error_wifi_sap_scanOnly() throws Exception {
- createSarManager(true, false, false);
+ createSarManager(true, false);
when(mWifiNative.selectTxPowerScenario(any(SarInfo.class))).thenReturn(false);
InOrder inOrder = inOrder(mWifiNative);
diff --git a/tests/wifitests/src/com/android/server/wifi/WifiMetricsTest.java b/tests/wifitests/src/com/android/server/wifi/WifiMetricsTest.java
index 27094b240..7ba3dbf95 100644
--- a/tests/wifitests/src/com/android/server/wifi/WifiMetricsTest.java
+++ b/tests/wifitests/src/com/android/server/wifi/WifiMetricsTest.java
@@ -400,7 +400,6 @@ public class WifiMetricsTest extends WifiBaseTest {
private static final boolean LINK_SPEED_COUNTS_LOGGING_SETTING = true;
private static final int DATA_STALL_MIN_TX_BAD_SETTING = 5;
private static final int DATA_STALL_MIN_TX_SUCCESS_WITHOUT_RX_SETTING = 75;
- private static final int NUM_SAR_SENSOR_LISTENER_REGISTRATION_FAILURES = 5;
private static final int NUM_ONESHOT_SCAN_REQUESTS_WITH_DFS_CHANNELS = 4;
private static final int NUM_ADD_OR_UPDATE_NETWORK_CALLS = 5;
private static final int NUM_ENABLE_NETWORK_CALLS = 6;
@@ -854,9 +853,6 @@ public class WifiMetricsTest extends WifiBaseTest {
for (int i = 0; i < NUM_WPS_CANCELLATION; i++) {
mWifiMetrics.incrementWpsCancellationCount();
}
- for (int i = 0; i < NUM_SAR_SENSOR_LISTENER_REGISTRATION_FAILURES; i++) {
- mWifiMetrics.incrementNumSarSensorRegistrationFailures();
- }
for (int i = 0; i < NUM_ONESHOT_SCAN_REQUESTS_WITH_DFS_CHANNELS; i++) {
mWifiMetrics.incrementOneshotScanWithDfsCount();
}
@@ -1200,9 +1196,6 @@ public class WifiMetricsTest extends WifiBaseTest {
mDecodedProto.experimentValues.wifiDataStallMinTxBad);
assertEquals(DATA_STALL_MIN_TX_SUCCESS_WITHOUT_RX_SETTING,
mDecodedProto.experimentValues.wifiDataStallMinTxSuccessWithoutRx);
-
- assertEquals(NUM_SAR_SENSOR_LISTENER_REGISTRATION_FAILURES,
- mDecodedProto.numSarSensorRegistrationFailures);
assertEquals(NUM_ONESHOT_SCAN_REQUESTS_WITH_DFS_CHANNELS,
mDecodedProto.numOneshotHasDfsChannelScans);
assertEquals(NUM_ADD_OR_UPDATE_NETWORK_CALLS, mDecodedProto.numAddOrUpdateNetworkCalls);
diff --git a/tests/wifitests/src/com/android/server/wifi/WifiVendorHalTest.java b/tests/wifitests/src/com/android/server/wifi/WifiVendorHalTest.java
index 561902e86..d44d63d1e 100644
--- a/tests/wifitests/src/com/android/server/wifi/WifiVendorHalTest.java
+++ b/tests/wifitests/src/com/android/server/wifi/WifiVendorHalTest.java
@@ -123,7 +123,6 @@ public class WifiVendorHalTest extends WifiBaseTest {
private static final String TEST_IFACE_NAME = "wlan0";
private static final String TEST_IFACE_NAME_1 = "wlan1";
private static final MacAddress TEST_MAC_ADDRESS = MacAddress.fromString("ee:33:a2:94:10:92");
- private static final int SAR_SENSOR_INVALID_STATE = -6;
private static final int[] TEST_FREQUENCIES =
{2412, 2417, 2422, 2427, 2432, 2437};
@@ -2352,7 +2351,7 @@ public class WifiVendorHalTest extends WifiBaseTest {
*/
@Test
public void testSelectTxPowerScenario_1_0() throws RemoteException {
- // Create a SAR info record (no sensor support)
+ // Create a SAR info record
SarInfo sarInfo = new SarInfo();
sarInfo.isVoiceCall = true;
@@ -2369,11 +2368,10 @@ public class WifiVendorHalTest extends WifiBaseTest {
*/
@Test
public void testSelectTxPowerScenario_1_1() throws RemoteException {
- // Create a SAR info record (no sensor support)
+ // Create a SAR info record
SarInfo sarInfo = new SarInfo();
sarInfo.sarVoiceCallSupported = true;
sarInfo.sarSapSupported = false;
- sarInfo.sarSensorSupported = false;
sarInfo.isVoiceCall = true;
@@ -2395,11 +2393,10 @@ public class WifiVendorHalTest extends WifiBaseTest {
*/
@Test
public void testSelectTxPowerScenario_1_2() throws RemoteException {
- // Create a SAR info record (no sensor support)
+ // Create a SAR info record
SarInfo sarInfo = new SarInfo();
sarInfo.sarVoiceCallSupported = true;
sarInfo.sarSapSupported = false;
- sarInfo.sarSensorSupported = false;
sarInfo.isVoiceCall = true;
@@ -2421,7 +2418,7 @@ public class WifiVendorHalTest extends WifiBaseTest {
*/
@Test
public void testResetTxPowerScenario_1_0() throws RemoteException {
- // Create a SAR info record (no sensor support)
+ // Create a SAR info record
SarInfo sarInfo = new SarInfo();
assertTrue(mWifiVendorHal.startVendorHalSta());
@@ -2437,11 +2434,10 @@ public class WifiVendorHalTest extends WifiBaseTest {
*/
@Test
public void testResetTxPowerScenario_1_1() throws RemoteException {
- // Create a SAR info record (no sensor support)
+ // Create a SAR info record
SarInfo sarInfo = new SarInfo();
sarInfo.sarVoiceCallSupported = true;
sarInfo.sarSapSupported = false;
- sarInfo.sarSensorSupported = false;
// Now expose the 1.1 IWifiChip.
mWifiVendorHal = new WifiVendorHalSpyV1_1(mHalDeviceManager, mHandler);
@@ -2463,11 +2459,10 @@ public class WifiVendorHalTest extends WifiBaseTest {
public void testResetTxPowerScenario_not_needed_1_1() throws RemoteException {
InOrder inOrder = inOrder(mIWifiChipV11);
- // Create a SAR info record (no sensor or SAP support)
+ // Create a SAR info record (no 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, mHandler);
@@ -2495,11 +2490,10 @@ public class WifiVendorHalTest extends WifiBaseTest {
*/
@Test
public void testResetTxPowerScenario_1_2() throws RemoteException {
- // Create a SAR info record (no sensor or SAP support)
+ // Create a SAR info record (no 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, mHandler);
@@ -2521,11 +2515,10 @@ public class WifiVendorHalTest extends WifiBaseTest {
public void testResetTxPowerScenario_not_needed_1_2() throws RemoteException {
InOrder inOrder = inOrder(mIWifiChipV12);
- // Create a SAR info record (no sensor or SAP support)
+ // Create a SAR info record (no 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, mHandler);
@@ -2548,19 +2541,16 @@ public class WifiVendorHalTest extends WifiBaseTest {
}
/**
- * Test the selectTxPowerScenario HIDL method invocation with no sensor support, but with
- * SAP and voice call support.
+ * Test the selectTxPowerScenario HIDL method invocation 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)
+ // Create a SAR info record (with SAP support)
SarInfo sarInfo = new SarInfo();
sarInfo.sarVoiceCallSupported = true;
sarInfo.sarSapSupported = true;
- sarInfo.sarSensorSupported = false;
-
sarInfo.isWifiSapEnabled = true;
// Expose the 1.2 IWifiChip.
@@ -2577,18 +2567,16 @@ public class WifiVendorHalTest extends WifiBaseTest {
}
/**
- * Test the selectTxPowerScenario HIDL method invocation with no sensor support, but with
- * SAP and voice call support.
+ * Test the selectTxPowerScenario HIDL method invocation 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)
+ // Create a SAR info record (with SAP support)
SarInfo sarInfo = new SarInfo();
sarInfo.sarVoiceCallSupported = true;
sarInfo.sarSapSupported = true;
- sarInfo.sarSensorSupported = false;
sarInfo.isVoiceCall = true;
@@ -2606,18 +2594,16 @@ public class WifiVendorHalTest extends WifiBaseTest {
}
/**
- * Test the selectTxPowerScenario HIDL method invocation with no sensor support, but with
- * SAP and voice call support.
+ * Test the selectTxPowerScenario HIDL method invocation with SAP and voice call support.
* When earpiece is active, should result in cell with near head scenario
* Using IWifiChip 1.2 interface
*/
@Test
public void testEarPieceScenarios_SelectTxPowerV1_2() throws RemoteException {
- // Create a SAR info record (with sensor and SAP support)
+ // Create a SAR info record (with SAP support)
SarInfo sarInfo = new SarInfo();
sarInfo.sarVoiceCallSupported = true;
sarInfo.sarSapSupported = true;
- sarInfo.sarSensorSupported = false;
sarInfo.isEarPieceActive = true;
@@ -2635,33 +2621,6 @@ public class WifiVendorHalTest extends WifiBaseTest {
}
/**
- * 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 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, mHandler);
- when(mIWifiChipV12.selectTxPowerScenario_1_2(anyInt())).thenReturn(mWifiStatusSuccess);
-
- // ON_HEAD_CELL_OFF
- assertTrue(mWifiVendorHal.startVendorHalSta());
- assertTrue(mWifiVendorHal.selectTxPowerScenario(sarInfo));
- verify(mIWifiChipV12).selectTxPowerScenario_1_2(
- eq(android.hardware.wifi.V1_2.IWifiChip.TxPowerScenario.ON_HEAD_CELL_OFF));
- verify(mIWifiChipV12, never()).resetTxPowerScenario();
- mWifiVendorHal.stopVendorHal();
- }
-
- /**
* Test setting SAR scenario when not needed, should return true without invoking
* the HAL method.
* This is using HAL 1.2 interface.
@@ -2670,25 +2629,20 @@ public class WifiVendorHalTest extends WifiBaseTest {
public void testSetTxPowerScenario_not_needed_1_2() throws RemoteException {
InOrder inOrder = inOrder(mIWifiChipV12);
- // Create a SAR info record (no sensor and SAP support)
+ // Create a SAR info record (no 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, mHandler);
- when(mIWifiChipV12.selectTxPowerScenario_1_2(anyInt())).thenReturn(mWifiStatusSuccess);
+ when(mIWifiChipV12.resetTxPowerScenario()).thenReturn(mWifiStatusSuccess);
assertTrue(mWifiVendorHal.startVendorHalSta());
/* Calling set once */
assertTrue(mWifiVendorHal.selectTxPowerScenario(sarInfo));
- inOrder.verify(mIWifiChipV12).selectTxPowerScenario_1_2(
- eq(android.hardware.wifi.V1_2.IWifiChip.TxPowerScenario.ON_HEAD_CELL_OFF));
- inOrder.verify(mIWifiChipV12, never()).resetTxPowerScenario();
+ inOrder.verify(mIWifiChipV12).resetTxPowerScenario();
sarInfo.reportingSuccessful();
/* Calling set second time */
@@ -2700,117 +2654,18 @@ public class WifiVendorHalTest extends WifiBaseTest {
}
/**
- * Test the selectTxPowerScenairo HIDL method invocation with sensor events for
- * IWifiChip 1.2 interface (Near hand event) along with a voice call.
- * This should be reverted to BODY events (First with CELL_OFF followed by CELL_ON).
- */
- @Test
- public void testHandSensorScenarios_SelectTxPowerV1_2() throws RemoteException {
- // 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, mHandler);
- when(mIWifiChipV12.selectTxPowerScenario_1_2(anyInt())).thenReturn(mWifiStatusSuccess);
-
- assertTrue(mWifiVendorHal.startVendorHalSta());
-
- // First select a scenario with cell off
- assertTrue(mWifiVendorHal.selectTxPowerScenario(sarInfo));
- verify(mIWifiChipV12).selectTxPowerScenario_1_2(
- eq(android.hardware.wifi.V1_2.IWifiChip.TxPowerScenario.ON_BODY_CELL_OFF));
-
- // Then select a scenario with cell on
- sarInfo.isVoiceCall = true;
- assertTrue(mWifiVendorHal.selectTxPowerScenario(sarInfo));
- verify(mIWifiChipV12).selectTxPowerScenario_1_2(
- eq(android.hardware.wifi.V1_2.IWifiChip.TxPowerScenario.ON_BODY_CELL_ON));
-
- mWifiVendorHal.stopVendorHal();
- }
-
- /**
- * Test the selectTxPowerScenario HIDL method invocation with a sensor info to IWifiChip
- * 1.1 interface.
- * Sensor mode should be ignored, and act only based on Cell on/off.
- */
- @Test
- public void testOnHeadCellOffOn_SelectTxPowerScenarioV1_1() throws RemoteException {
- // 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, mHandler);
- when(mIWifiChipV11.selectTxPowerScenario(anyInt())).thenReturn(mWifiStatusSuccess);
- when(mIWifiChipV11.resetTxPowerScenario()).thenReturn(mWifiStatusSuccess);
-
- assertTrue(mWifiVendorHal.startVendorHalSta());
-
- // First select a scenario with cell off
- assertTrue(mWifiVendorHal.selectTxPowerScenario(sarInfo));
- verify(mIWifiChipV11).resetTxPowerScenario();
-
- // Then select a scenario with cell on
- sarInfo.isVoiceCall = true;
- assertTrue(mWifiVendorHal.selectTxPowerScenario(sarInfo));
- verify(mIWifiChipV11).selectTxPowerScenario(
- eq(android.hardware.wifi.V1_1.IWifiChip.TxPowerScenario.VOICE_CALL));
-
- mWifiVendorHal.stopVendorHal();
- }
-
- /**
- * Test the new selectTxPowerScenario HIDL method invocation with a bad input.
- * This should not result into any calls to the HAL.
- * Use IWifiChip 1.2 interface
- */
- @Test
- public void testInvalidSelectTxPowerScenario_1_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 = true;
-
- sarInfo.sensorState = SAR_SENSOR_INVALID_STATE;
-
- // Expose the 1.2 IWifiChip.
- mWifiVendorHal = new WifiVendorHalSpyV1_2(mHalDeviceManager, mHandler);
-
- assertTrue(mWifiVendorHal.startVendorHalSta());
- assertFalse(mWifiVendorHal.selectTxPowerScenario(sarInfo));
- verify(mIWifiChipV12, never()).selectTxPowerScenario(anyInt());
- verify(mIWifiChipV12, never()).resetTxPowerScenario();
- mWifiVendorHal.stopVendorHal();
- }
-
- /**
* Test the selectTxPowerScenario HIDL method invocation with IWifiChip 1.2 interface.
* The following inputs:
- * - Sensor support is enabled
- * - Sensor state is NEAR_HEAD
* - SAP is enabled
* - No voice call
*/
@Test
- public void testSelectTxPowerScenario_1_2_head_sap() throws RemoteException {
- // Create a SAR info record (with sensor and SAP support)
+ public void testSelectTxPowerScenario_1_2_sap() throws RemoteException {
+ // Create a SAR info record (with 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;
@@ -2821,7 +2676,7 @@ public class WifiVendorHalTest extends WifiBaseTest {
assertTrue(mWifiVendorHal.startVendorHalSta());
assertTrue(mWifiVendorHal.selectTxPowerScenario(sarInfo));
verify(mIWifiChipV12).selectTxPowerScenario_1_2(
- eq(android.hardware.wifi.V1_2.IWifiChip.TxPowerScenario.ON_HEAD_CELL_ON));
+ eq(android.hardware.wifi.V1_2.IWifiChip.TxPowerScenario.ON_BODY_CELL_ON));
mWifiVendorHal.stopVendorHal();
}
@@ -2829,20 +2684,16 @@ public class WifiVendorHalTest extends WifiBaseTest {
/**
* Test the selectTxPowerScenario HIDL method invocation with IWifiChip 1.2 interface.
* The following inputs:
- * - Sensor support is enabled
- * - Sensor state is NEAR_HEAD
* - SAP is enabled
* - voice call is enabled
*/
@Test
public void testSelectTxPowerScenario_1_2_head_sap_call() throws RemoteException {
- // Create a SAR info record (with sensor and SAP support)
+ // Create a SAR info record (with 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;
@@ -2859,68 +2710,6 @@ public class WifiVendorHalTest extends WifiBaseTest {
}
/**
- * Test the selectTxPowerScenario HIDL method invocation with IWifiChip 1.2 interface.
- * The following inputs:
- * - Sensor support is enabled
- * - Sensor state is FREE_SPACE
- * - SAP is enabled
- * - No voice call
- */
- @Test
- public void testSelectTxPowerScenario_1_2_freespace_sap() throws RemoteException {
- // 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, mHandler);
- when(mIWifiChipV12.resetTxPowerScenario()).thenReturn(mWifiStatusSuccess);
-
- assertTrue(mWifiVendorHal.startVendorHalSta());
- assertTrue(mWifiVendorHal.selectTxPowerScenario(sarInfo));
-
- verify(mIWifiChipV12).resetTxPowerScenario();
- verify(mIWifiChipV12, never()).selectTxPowerScenario_1_2(anyInt());
- mWifiVendorHal.stopVendorHal();
- }
-
- /**
- * Test the selectTxPowerScenario HIDL method invocation with IWifiChip 1.2 interface.
- * The following inputs:
- * - Sensor support is disabled
- * - SAP is enabled
- * - No voice call
- */
- @Test
- public void testSelectTxPowerScenario_1_2_no_sensors_sap() throws RemoteException {
- // Create a SAR info record (with no sensor support)
- 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, mHandler);
- when(mIWifiChipV12.resetTxPowerScenario()).thenReturn(mWifiStatusSuccess);
-
- assertTrue(mWifiVendorHal.startVendorHalSta());
- assertTrue(mWifiVendorHal.selectTxPowerScenario(sarInfo));
-
- verify(mIWifiChipV12).resetTxPowerScenario();
- verify(mIWifiChipV12, never()).selectTxPowerScenario_1_2(anyInt());
- mWifiVendorHal.stopVendorHal();
- }
-
- /**
* Test the setLowLatencyMode HIDL method invocation with IWifiChip 1.2 interface.
* Function should return false
*/