On second though, I still feel the shouldChangePanelNextEvent equal to the inComposer. The key point you solved here is you check shouldChangePanelNextEvent while the onMessageSending, but you could also replace the statement with inComposer. If you are sending multiple sms, it will switch to thread-list page in onSendClick. That means you will not switch to other view while sending either.
So back to my first thought: Maybe we only need to check inCompose on sending. Is it really necessary to have a property for it and reset it after switch to next view?