holoirc: fix all the bugs

* modify the adapter on the UI thread to reduce issues
* move some stuff around and cleanup