To anyone who might be reading this in the future looking for answers to the same questions:
The issue also affected another feature and was resolved on another thread.
It seems the problem is that the callbacks are happening in a background thread. Attempting to update the UI from these callbacks causes problems.
Any UI updates from here need to be wrapped in a runOnUiThread call to make sure the instructions are executed on the main thread.