Disconnect as soon as binder died

This commit is contained in:
Mygod
2018-02-03 22:24:42 -08:00
parent be79e6f80c
commit 3975f3f43c
2 changed files with 6 additions and 2 deletions
@@ -48,7 +48,10 @@ class ShadowsocksConnection(private val instance: Interface) : ServiceConnection
* Different from Android framework, this method will be called even when you call `detachService`.
*/
fun onServiceDisconnected() { }
override fun binderDied() { }
override fun binderDied() {
connection.service = null
connection.disconnect()
}
}
private var connectionActive = false
@@ -109,6 +112,7 @@ class ShadowsocksConnection(private val instance: Interface) : ServiceConnection
connectionActive = false
if (instance.listenForDeath) binder?.unlinkToDeath(instance, 0)
binder = null
service?.stopListeningForBandwidth(instance.serviceCallback)
service = null
}
}