Smack 4.4.8: omemoManager encrypt of message is blocked by contactSupportOmemo check causing ANR

In aTalk implements, it will check the Omemo support for both contact and server before the option is enabled for use selection. This check is performed in background to avoid UI hanging. It was found that via android Field Failure Report (FFR), many users experience Android No Response (ANR), due to omemo message encryption is being blocked by the omemo support check.

In the latest release of aTalk 4.1.1, the check has been optimised to perform only once on initiation of a new chat session. However aTalk still experience the above ANR as shown in the screen shot.

Is it possible to make encryption and check independent of each other, or via function re-entrant?

Note: The omemo encrypt is enabled by default based on last chat session state, while waiting for the check result.