diff options
author | Daniel Gultsch <daniel@gultsch.de> | 2021-09-20 11:07:38 +0300 |
---|---|---|
committer | Daniel Gultsch <daniel@gultsch.de> | 2021-09-20 11:07:38 +0300 |
commit | ba9596b37d3f173b15426f36d241104267ffc596 (patch) | |
tree | be0c54777e316c3e2e773f1d8e7a427f674dfd05 | |
parent | b01bca74fd3fcd818d4085e9259d66a3069e8214 (diff) |
catch rare exception around execute pending fragment transactions
-rw-r--r-- | src/main/java/eu/siacs/conversations/ui/ConversationsActivity.java | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/main/java/eu/siacs/conversations/ui/ConversationsActivity.java b/src/main/java/eu/siacs/conversations/ui/ConversationsActivity.java index 9ed1e3883..2c2c4fe48 100644 --- a/src/main/java/eu/siacs/conversations/ui/ConversationsActivity.java +++ b/src/main/java/eu/siacs/conversations/ui/ConversationsActivity.java @@ -430,7 +430,7 @@ public class ConversationsActivity extends XmppActivity implements OnConversatio private void openConversation(Conversation conversation, Bundle extras) { final FragmentManager fragmentManager = getSupportFragmentManager(); - fragmentManager.executePendingTransactions(); + executePendingTransactions(fragmentManager); ConversationFragment conversationFragment = (ConversationFragment) fragmentManager.findFragmentById(R.id.secondary_fragment); final boolean mainNeedsRefresh; if (conversationFragment == null) { @@ -462,6 +462,14 @@ public class ConversationsActivity extends XmppActivity implements OnConversatio } } + private static void executePendingTransactions(final FragmentManager fragmentManager) { + try { + fragmentManager.executePendingTransactions(); + } catch (final Exception e) { + Log.e(Config.LOGTAG,"unable to execute pending fragment transactions"); + } + } + public boolean onXmppUriClicked(Uri uri) { XmppUri xmppUri = new XmppUri(uri); if (xmppUri.isValidJid() && !xmppUri.hasFingerprints()) { |