0

I have a Paho MQTT connection, with a callback updating a object and i need to update a coposable.. I can see the in Logcat that i receive information, but the composable is not updated. I am suspecting that the issue is that i am using a static object and it is not mutable. What is the practice on this scenario? I did not implement a ViewModel. It could be done with a timer, but i think it is not an elegant solution.

snippet:


object MyCallBack : MqttCallback {
    public var message = ""

    override fun messageArrived(topic: String?, message: MqttMessage?) {
        this.message = message.toString()
        Log.e(ContentValues.TAG,"mqtt Arrived: $message")
    }
......
}

and a composable function used to display the information:

@Composable
fun ShowMessage() {
    var myCallBack = MyCallBack //here i can access the updated information
    var message by remember {
        mutableStateOf(myCallBack.message)

    Text("Changed ${myCallBack.message}", color = Color.White)
    }
}

Thank you!

i have tried to use mutableStateOf() but it did not called for composition, i think it is not observable.

Alex P
  • 1
  • 1

0 Answers0