aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/de/pixart/messenger
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/de/pixart/messenger')
-rw-r--r--src/main/java/de/pixart/messenger/ui/ConversationsActivity.java15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/main/java/de/pixart/messenger/ui/ConversationsActivity.java b/src/main/java/de/pixart/messenger/ui/ConversationsActivity.java
index 06ab8ec89..d7f4bd88e 100644
--- a/src/main/java/de/pixart/messenger/ui/ConversationsActivity.java
+++ b/src/main/java/de/pixart/messenger/ui/ConversationsActivity.java
@@ -494,7 +494,13 @@ public class ConversationsActivity extends XmppActivity implements OnConversatio
FragmentTransaction fragmentTransaction = getFragmentManager().beginTransaction();
fragmentTransaction.replace(R.id.main_fragment, conversationFragment);
fragmentTransaction.addToBackStack(null);
- fragmentTransaction.commitAllowingStateLoss(); //allowing state loss is probably fine since view intents at all are already stored and a click can probably be 'ignored'
+ try {
+ fragmentTransaction.commit();
+ } catch (IllegalStateException e) {
+ Log.w(Config.LOGTAG, "sate loss while opening conversation", e);
+ //allowing state loss is probably fine since view intents et all are already stored and a click can probably be 'ignored'
+ return;
+ }
}
} else {
mainNeedsRefresh = true;
@@ -829,7 +835,12 @@ public class ConversationsActivity extends XmppActivity implements OnConversatio
}
Fragment mainFragment = getFragmentManager().findFragmentById(R.id.main_fragment);
if (mainFragment != null && mainFragment instanceof ConversationFragment) {
- getFragmentManager().popBackStack();
+ try {
+ getFragmentManager().popBackStack();
+ } catch (IllegalStateException e) {
+ Log.w(Config.LOGTAG, "state loss while popping back state after archiving conversation", e);
+ //this usually means activity is no longer active; meaning on the next open we will run through this again
+ }
return;
}
Fragment secondaryFragment = getFragmentManager().findFragmentById(R.id.secondary_fragment);