catch rare exception around execute pending fragment transactions

Daniel Gultsch created

Change summary

src/main/java/eu/siacs/conversations/ui/ConversationsActivity.java | 10 
1 file changed, 9 insertions(+), 1 deletion(-)

Detailed changes

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()) {