By out of sync on Button5: If there is no way to see if Timer1 is enabled when Button5 is pressed, because it toggles when pressed, how do you know the state? A bounce of the button may place it in the opposite state.
I started with the Erel's BT chat example. It in the ChatActivity I made changes to the communications. My NewData responds to packets of data from the embedded system. The packets are framed with special characters, so I know the beginning, end and the packet type. The packet does not always get there in one NewData, so new data adds incoming information to the buffer, and checks for an end, if not it exits. If an end is found, it calls the calls the process data sub, passing the packet type and data. It then removes the packet from the buffer, keeping what may be the start on a new packet. Erel wrote a class for async streams text that is very similar, check that out. My code is perhaps too application specific to share.
More about my system:
While the timer sends periodic requests for plotting and logging, there are also buttons that send direct control requests to the embedded system. The button commands index data tables, modify real-time parameters on the embedded side, and request update information for the android GUI RTI. The packet header information, and command processor on the embedded side, keeps orders correct, the system works flawless. The system logs, plots charts, updates real-time values, and changes data on the embedded side without noticeable lag in the GUI. The period timer is enabled or disabled by checkbox, and a button is used to toggle timer rate values. When the timer interval is changed, the timer is momentarily disabled.
My application is the user interface for an automotive EFI/Ignition controller I developed. The BT at 115,200 Baud on Android and B4A application, is much superior to VB6 PC application at 38,400 baud. I have zero complaints with communication integrity.
I often setup rx, tx communications monitoring when I develop. It provides added debug capability and speeds development.