I have the following code…
val beaconConnection = BeaconConnection(reactContext, beacon, object : BeaconConnection.ConnectionCallback {
override fun onConnected(beaconInfo: BeaconInfo?) {
log("onConnected() - ${beacon.proximityUUID}")
beaconConnection.motionState().getAsync(object : Property.Callback<MotionState> {
override fun onFailure() {
log("onFailure()")
}
override fun onValueReceived(value: MotionState?) {
log("${beacon.proximityUUID} - $value")
}
})
}
override fun onAuthorized(beaconInfo: BeaconInfo?) {
log("onAuthorized()")
}
override fun onAuthenticationError(exception: EstimoteDeviceException) {
log("onAuthenticationError - ${exception.printStackTrace()}")
}
override fun onDisconnected() {
log("onDisconnected()")
}
})
beaconConnection.authenticate()
The line beaconConnection.motionState().getAsync(object : Property.Callback { has an unresolved reference error and i’m am trying to use the outside variable inside the class later on
In Java if I declare this as final this would work but I am not sure how to get around this in Kotlin
I could do this at the start…
var beaconConnection: BeaconConnection? = null
beaconConnection = BeaconConnection(reactContext, beacon, object : BeaconConnection.ConnectionCallback {
and then do null checks
beaconConnection?.motionState()?.getAsync(object : Property.Callback {
But I am trying to avoid this
How can I access the variable beaconConnection in the inner class?