summaryrefslogtreecommitdiffstats
path: root/tests/wifitests/src/com/android/server/wifi/rtt
diff options
context:
space:
mode:
authorEtan Cohen <etancohen@google.com>2017-11-20 15:45:53 -0800
committerEtan Cohen <etancohen@google.com>2017-11-30 20:21:00 +0000
commit11c58270fbb3509879b29b45fe4d3646d50869d4 (patch)
treeb06111c994f66a6f8d652086eb88c110de1a5a25 /tests/wifitests/src/com/android/server/wifi/rtt
parentfd95a68590a4dcc82734e42b85898c953d21dbf7 (diff)
downloadandroid_frameworks_opt_net_wifi-11c58270fbb3509879b29b45fe4d3646d50869d4.tar.gz
android_frameworks_opt_net_wifi-11c58270fbb3509879b29b45fe4d3646d50869d4.tar.bz2
android_frameworks_opt_net_wifi-11c58270fbb3509879b29b45fe4d3646d50869d4.zip
[RTT2] Use generic Responder configuration
Use the generic Responder configuration in the service. I.e. all peer configurations are translated to their common Responder configuration by the time they make it into the service. Bug: 65014962 Test: unit tests and integration tests Change-Id: I90e4e63bb5740851082e6512ccfd217a9e81aa63
Diffstat (limited to 'tests/wifitests/src/com/android/server/wifi/rtt')
-rw-r--r--tests/wifitests/src/com/android/server/wifi/rtt/RttServiceImplTest.java34
-rw-r--r--tests/wifitests/src/com/android/server/wifi/rtt/RttTestUtils.java33
2 files changed, 35 insertions, 32 deletions
diff --git a/tests/wifitests/src/com/android/server/wifi/rtt/RttServiceImplTest.java b/tests/wifitests/src/com/android/server/wifi/rtt/RttServiceImplTest.java
index 9d04580cf..01e3750c9 100644
--- a/tests/wifitests/src/com/android/server/wifi/rtt/RttServiceImplTest.java
+++ b/tests/wifitests/src/com/android/server/wifi/rtt/RttServiceImplTest.java
@@ -53,6 +53,7 @@ import android.net.wifi.rtt.IRttCallback;
import android.net.wifi.rtt.RangingRequest;
import android.net.wifi.rtt.RangingResult;
import android.net.wifi.rtt.RangingResultCallback;
+import android.net.wifi.rtt.ResponderConfig;
import android.net.wifi.rtt.WifiRttManager;
import android.os.Handler;
import android.os.IBinder;
@@ -253,11 +254,15 @@ public class RttServiceImplTest {
@Test
public void testRangingFlowUsingAwarePeerHandles() throws Exception {
RangingRequest request = RttTestUtils.getDummyRangingRequest((byte) 0xA);
- PeerHandle peerHandle = new PeerHandle(1022);
- request.mRttPeers.add(new RangingRequest.RttPeerAware(peerHandle));
+ PeerHandle peerHandle1 = new PeerHandle(1022);
+ PeerHandle peerHandle2 = new PeerHandle(1023);
+ request.mRttPeers.add(ResponderConfig.fromWifiAwarePeerHandleWithDefaults(peerHandle1));
+ request.mRttPeers.add(ResponderConfig.fromWifiAwarePeerHandleWithDefaults(peerHandle2));
Map<Integer, byte[]> peerHandleToMacMap = new HashMap<>();
- byte[] macAwarePeer = HexEncoding.decode("AABBCCDDEEFF".toCharArray(), false);
- peerHandleToMacMap.put(1022, macAwarePeer);
+ byte[] macAwarePeer1 = HexEncoding.decode("AABBCCDDEEFF".toCharArray(), false);
+ byte[] macAwarePeer2 = HexEncoding.decode("BBBBBBEEEEEE".toCharArray(), false);
+ peerHandleToMacMap.put(peerHandle1.peerId, macAwarePeer1);
+ peerHandleToMacMap.put(peerHandle2.peerId, macAwarePeer2);
AwareTranslatePeerHandlesToMac answer = new AwareTranslatePeerHandlesToMac(mDefaultUid,
peerHandleToMacMap);
@@ -274,13 +279,18 @@ public class RttServiceImplTest {
RangingRequest finalRequest = mRequestCaptor.getValue();
assertNotEquals("Request to native is not null", null, finalRequest);
assertEquals("Size of request", request.mRttPeers.size(), finalRequest.mRttPeers.size());
- assertEquals("Aware peer MAC", macAwarePeer,
- ((RangingRequest.RttPeerAware) finalRequest.mRttPeers.get(
- finalRequest.mRttPeers.size() - 1)).peerMacAddress);
+ assertEquals("Aware peer 1 MAC", macAwarePeer1,
+ finalRequest.mRttPeers.get(finalRequest.mRttPeers.size() - 2).macAddress);
+ assertEquals("Aware peer 2 MAC", macAwarePeer2,
+ finalRequest.mRttPeers.get(finalRequest.mRttPeers.size() - 1).macAddress);
- // issue results
+ // issue results - but remove the one for peer #2
Pair<List<RttResult>, List<RangingResult>> results =
RttTestUtils.getDummyRangingResults(mRequestCaptor.getValue());
+ results.first.remove(results.first.size() - 1);
+ RangingResult removed = results.second.remove(results.second.size() - 1);
+ results.second.add(
+ new RangingResult(RangingResult.STATUS_FAIL, removed.getPeerHandle(), 0, 0, 0, 0));
mDut.onRangingResults(mIntCaptor.getValue(), results.first);
mMockLooper.dispatchAll();
@@ -607,8 +617,12 @@ public class RttServiceImplTest {
RangingRequest request = RttTestUtils.getDummyRangingRequest((byte) 0);
Pair<List<RttResult>, List<RangingResult>> results = RttTestUtils.getDummyRangingResults(
request);
- results.first.remove(0);
- RangingResult removed = results.second.remove(0);
+ results.first.remove(2); // remove a direct AWARE request
+ RangingResult removed = results.second.remove(2);
+ results.second.add(
+ new RangingResult(RangingResult.STATUS_FAIL, removed.getMacAddress(), 0, 0, 0, 0));
+ results.first.remove(0); // remove an AP request
+ removed = results.second.remove(0);
results.second.add(
new RangingResult(RangingResult.STATUS_FAIL, removed.getMacAddress(), 0, 0, 0, 0));
diff --git a/tests/wifitests/src/com/android/server/wifi/rtt/RttTestUtils.java b/tests/wifitests/src/com/android/server/wifi/rtt/RttTestUtils.java
index a014878bf..db3cd178f 100644
--- a/tests/wifitests/src/com/android/server/wifi/rtt/RttTestUtils.java
+++ b/tests/wifitests/src/com/android/server/wifi/rtt/RttTestUtils.java
@@ -16,13 +16,12 @@
package com.android.server.wifi.rtt;
-import static com.android.server.wifi.util.NativeUtil.macAddressToByteArray;
-
import android.hardware.wifi.V1_0.RttResult;
import android.hardware.wifi.V1_0.RttStatus;
import android.net.wifi.ScanResult;
import android.net.wifi.rtt.RangingRequest;
import android.net.wifi.rtt.RangingResult;
+import android.net.wifi.rtt.ResponderConfig;
import android.util.Pair;
import libcore.util.HexEncoding;
@@ -92,29 +91,19 @@ public class RttTestUtils {
List<RangingResult> results = new ArrayList<>();
if (request != null) {
- for (RangingRequest.RttPeer peer: request.mRttPeers) {
- RangingResult rangingResult = null;
- byte[] overrideMac = null;
- if (peer instanceof RangingRequest.RttPeerAp) {
+ for (ResponderConfig peer: request.mRttPeers) {
+ RangingResult rangingResult;
+ if (peer.peerHandle == null) {
+ rangingResult = new RangingResult(RangingResult.STATUS_SUCCESS,
+ peer.macAddress, rangeCmBase++, rangeStdDevCmBase++, rssiBase++,
+ rangeTimestampBase++);
+ } else {
rangingResult = new RangingResult(RangingResult.STATUS_SUCCESS,
- macAddressToByteArray(
- ((RangingRequest.RttPeerAp) peer).scanResult.BSSID),
- rangeCmBase++, rangeStdDevCmBase++, rssiBase++, rangeTimestampBase++);
- } else if (peer instanceof RangingRequest.RttPeerAware) {
- RangingRequest.RttPeerAware awarePeer = (RangingRequest.RttPeerAware) peer;
- if (awarePeer.peerHandle != null) {
- rangingResult = new RangingResult(RangingResult.STATUS_SUCCESS,
- awarePeer.peerHandle, rangeCmBase++, rangeStdDevCmBase++,
- rssiBase++, rangeTimestampBase++);
- overrideMac = awarePeer.peerMacAddress;
- } else {
- rangingResult = new RangingResult(RangingResult.STATUS_SUCCESS,
- awarePeer.peerMacAddress, rangeCmBase++, rangeStdDevCmBase++,
- rssiBase++, rangeTimestampBase++);
- }
+ peer.peerHandle, rangeCmBase++, rangeStdDevCmBase++, rssiBase++,
+ rangeTimestampBase++);
}
results.add(rangingResult);
- halResults.add(getMatchingRttResult(rangingResult, overrideMac));
+ halResults.add(getMatchingRttResult(rangingResult, peer.macAddress));
}
} else {
results.add(new RangingResult(RangingResult.STATUS_SUCCESS,