Actualizar la interfaz de usuario de Android desde un hilo en otra clase

He visto algunas preguntas aquí haciendo preguntas similares, pero todavía no he visto una respuesta adecuada. Muchas personas han preguntado cómo actualizar la interfaz de usuario desde un hilo, pero casi siempre están en la misma clase que la interfaz de usuario.

Lo que estoy tratando de hacer es actualizar la interfaz de usuario desde un subproceso que se ha creado en otra clase. He visto todas las sugerencias, como async, handlers, runnable, etc ... pero tengo problemas para implementarlas en clases separadas.

Estoy tratando de mantener mi clase de UI mínima y solo tratar con las interacciones con la GUI, como cuando un usuario presiona un botón. Ahora, he creado un nuevo hilo, en una nueva clase, que se conecta a un dispositivo Bluetooth, pero luego quiero cambiar un botón en el hilo de la interfaz de usuario para que sea un botón 'conectar' a un botón 'desconectar' (es decir, cambiar el botón desde la creación del conector Bluetooth hasta su cierre).

¿Cuál es la forma general de hacer esto? ¿Estoy pensando en todo esto mal y debería tener todo en una clase? ¿Cuál es la forma correcta de interactuar entre la clase de UI 'principal' y otras clases / subprocesos?

Idealmente, quiero poder hacer otras interacciones de UI, por lo que sería genial una solución que permita otros cambios de UI fuera de la clase de UI.

Respuestas a la pregunta(3)

Su respuesta a la pregunta