summaryrefslogtreecommitdiffhomepage
path: root/android/src
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2019-12-03 15:06:08 +0000
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2019-12-04 12:17:24 +0000
commit3086b675415bddcd22b60004d6abd1ab762c4980 (patch)
tree1be77da88ced8e63fa53bad9ba4de708928abb3f /android/src
parent69ae2007c052a9b71943d57162516c98244f5e24 (diff)
downloadmullvadvpn-3086b675415bddcd22b60004d6abd1ab762c4980.tar.xz
mullvadvpn-3086b675415bddcd22b60004d6abd1ab762c4980.zip
Store sender address in Java class
Return the ownership to the Rust code when the object is garbage collected so that it is correctly freed.
Diffstat (limited to 'android/src')
-rw-r--r--android/src/main/kotlin/net/mullvad/talpid/ConnectivityListener.kt9
1 files changed, 9 insertions, 0 deletions
diff --git a/android/src/main/kotlin/net/mullvad/talpid/ConnectivityListener.kt b/android/src/main/kotlin/net/mullvad/talpid/ConnectivityListener.kt
index 143587d340..369d61b813 100644
--- a/android/src/main/kotlin/net/mullvad/talpid/ConnectivityListener.kt
+++ b/android/src/main/kotlin/net/mullvad/talpid/ConnectivityListener.kt
@@ -12,6 +12,8 @@ class ConnectivityListener : BroadcastReceiver() {
var isConnected = true
private set
+ var senderAddress = 0L
+
fun register(context: Context) {
val intentFilter = IntentFilter()
@@ -49,4 +51,11 @@ class ConnectivityListener : BroadcastReceiver() {
networkInfo.detailedState == DetailedState.CONNECTED
})
}
+
+ private fun finalize() {
+ destroySender(senderAddress)
+ senderAddress = 0L
+ }
+
+ private external fun destroySender(senderAddress: Long)
}