diff options
author | Etan Cohen <etancohen@google.com> | 2017-11-20 15:45:53 -0800 |
---|---|---|
committer | Etan Cohen <etancohen@google.com> | 2017-11-30 20:21:00 +0000 |
commit | 11c58270fbb3509879b29b45fe4d3646d50869d4 (patch) | |
tree | b06111c994f66a6f8d652086eb88c110de1a5a25 /tests/wifitests/src/com/android/server/wifi/rtt | |
parent | fd95a68590a4dcc82734e42b85898c953d21dbf7 (diff) | |
download | android_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.java | 34 | ||||
-rw-r--r-- | tests/wifitests/src/com/android/server/wifi/rtt/RttTestUtils.java | 33 |
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, |