in core/src/main/java/com/github/shadowsocks/aidl/ShadowsocksConnection.kt [97:109]
override fun onServiceConnected(name: ComponentName?, binder: IBinder) {
this.binder = binder
val service = IShadowsocksService.Stub.asInterface(binder)!!
this.service = service
try {
if (listenForDeath) binder.linkToDeath(this, 0)
check(!callbackRegistered)
service.registerCallback(serviceCallback)
callbackRegistered = true
if (bandwidthTimeout > 0) service.startListeningForBandwidth(serviceCallback, bandwidthTimeout)
} catch (_: RemoteException) { }
callback!!.onServiceConnected(service)
}