[ConnectivityManagerFacade] Changes to Natt Keepalive APIs
CHERRY PICKED FROM AOSP
connectivityStartNattKeepalive() returns a key which allows us to listen
for a 'Started' event using
connectivityNattKeepaliveStartListeningForEvent(). Similarly, to listen
to a 'Stopped' event we use
connectivityNattKeepaliveStopListeningForEvent(). However,
connectivityStopNattKeepalive() deletes the key, which makes the API
useless. Added a new API to delete the key.
Bug: 72420688
Test: Verified the changes
Change-Id: Ia7a43e5d03ee55a92b367035d7152901ec907df3
Merged-In: I762ad5e0f8e7346d09d2c2904d7cbd65a25e58e8
diff --git a/Common/src/com/googlecode/android_scripting/facade/ConnectivityManagerFacade.java b/Common/src/com/googlecode/android_scripting/facade/ConnectivityManagerFacade.java
index bd81bb8..2b3697f 100644
--- a/Common/src/com/googlecode/android_scripting/facade/ConnectivityManagerFacade.java
+++ b/Common/src/com/googlecode/android_scripting/facade/ConnectivityManagerFacade.java
@@ -501,7 +501,6 @@
PacketKeepaliveReceiver mPacketKeepaliveReceiver =
mPacketKeepaliveReceiverMap.get(key);
if (mPacketKeepaliveReceiver != null) {
- mPacketKeepaliveReceiverMap.remove(key);
mPacketKeepaliveReceiver.mPacketKeepalive.stop();
return true;
} else {
@@ -509,6 +508,14 @@
}
}
+ /**
+ * Remove key from the PacketKeepaliveReceiver map
+ */
+ @Rpc(description = "remove PacketKeepaliveReceiver key")
+ public void connectivityRemovePacketKeepaliveReceiverKey(String key) {
+ mPacketKeepaliveReceiverMap.remove(key);
+ }
+
@Rpc(description = "start listening for NattKeepalive Event")
public Boolean connectivityNattKeepaliveStartListeningForEvent(String key, String eventString) {
PacketKeepaliveReceiver mPacketKeepaliveReceiver =