summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEtan Cohen <etancohen@google.com>2018-03-01 18:16:14 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2018-03-01 18:16:14 +0000
commit554a9c0136e1bb7612ced93fb1ec60bc55484dcb (patch)
treeb73fb9a6650ad478c8f6b5100b6ac36fa114d80f
parent460c287793551699c5fda2299d8462a6ce2cd745 (diff)
parenta2885417984a0d7b9221f6952786f16016256978 (diff)
Merge "[AWARE] Clean-up cache on shut-down"
-rw-r--r--service/java/com/android/server/wifi/aware/WifiAwareDataPathStateManager.java21
1 files changed, 8 insertions, 13 deletions
diff --git a/service/java/com/android/server/wifi/aware/WifiAwareDataPathStateManager.java b/service/java/com/android/server/wifi/aware/WifiAwareDataPathStateManager.java
index d90ee939c..947b5b9cb 100644
--- a/service/java/com/android/server/wifi/aware/WifiAwareDataPathStateManager.java
+++ b/service/java/com/android/server/wifi/aware/WifiAwareDataPathStateManager.java
@@ -64,6 +64,7 @@ import java.net.SocketException;
import java.util.Arrays;
import java.util.Enumeration;
import java.util.HashSet;
+import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Objects;
@@ -204,6 +205,7 @@ public class WifiAwareDataPathStateManager {
*/
public void deleteAllInterfaces() {
if (VDBG) Log.v(TAG, "deleteAllInterfaces");
+ onAwareDownCleanupDataPaths();
if (mMgr.getCapabilities() == null) {
Log.e(TAG, "deleteAllInterfaces: capabilities aren't initialized yet!");
@@ -304,7 +306,6 @@ public class WifiAwareDataPathStateManager {
+ nnri.state);
}
- mNetworkRequestsCache.remove(networkSpecifier);
mAwareMetrics.recordNdpStatus(reason, networkSpecifier.isOutOfBand(), nnri.startTimestamp);
}
@@ -368,14 +369,6 @@ public class WifiAwareDataPathStateManager {
return null;
}
- if (nnri.state != AwareNetworkRequestInformation.STATE_RESPONDER_WAIT_FOR_REQUEST) {
- Log.w(TAG, "onDataPathRequest: request " + networkSpecifier + " is incorrect state="
- + nnri.state);
- mMgr.respondToDataPathRequest(false, ndpId, "", null, null, false);
- mNetworkRequestsCache.remove(networkSpecifier);
- return null;
- }
-
nnri.interfaceName = selectInterfaceForRequest(nnri);
if (nnri.interfaceName == null) {
Log.w(TAG,
@@ -615,15 +608,17 @@ public class WifiAwareDataPathStateManager {
}
/**
- * Called whenever Aware comes down. Clean up all pending and up network requeests and agents.
+ * Called whenever Aware comes down. Clean up all pending and up network requests and agents.
*/
public void onAwareDownCleanupDataPaths() {
if (VDBG) Log.v(TAG, "onAwareDownCleanupDataPaths");
- for (AwareNetworkRequestInformation nnri : mNetworkRequestsCache.values()) {
- tearDownInterfaceIfPossible(nnri);
+ Iterator<Map.Entry<WifiAwareNetworkSpecifier, AwareNetworkRequestInformation>> it =
+ mNetworkRequestsCache.entrySet().iterator();
+ while (it.hasNext()) {
+ tearDownInterfaceIfPossible(it.next().getValue());
+ it.remove();
}
- mNetworkRequestsCache.clear();
}
/**