I have not used Bluetooth comms before but it looks like you need to check the TextReader.Ready status...
https://www.b4x.com/android/forum/threads/android-serial-tutorial.6908/
Therefore I purpose that you could modify my previous suggestion slightly and use the timer to poll the status of the incoming serial data at a fairly regular interval, maybe once a second. You could then use a global variable within the tick event for the timeout purpose. If TextReader.Ready is true, reset the timeout flag and read in the data. If not ready then increment the timeout flag. When the timeout variable reaches 30 a timeout has occurred, stop the timer and do what ever it is that you require.