aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/de/pixart/messenger/ui/ConversationActivity.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/de/pixart/messenger/ui/ConversationActivity.java')
-rw-r--r--src/main/java/de/pixart/messenger/ui/ConversationActivity.java17
1 files changed, 12 insertions, 5 deletions
diff --git a/src/main/java/de/pixart/messenger/ui/ConversationActivity.java b/src/main/java/de/pixart/messenger/ui/ConversationActivity.java
index c3fdfefa2..2103b63e5 100644
--- a/src/main/java/de/pixart/messenger/ui/ConversationActivity.java
+++ b/src/main/java/de/pixart/messenger/ui/ConversationActivity.java
@@ -173,17 +173,24 @@ public class ConversationActivity extends XmppActivity implements OnConversation
final boolean mainNeedsRefresh;
if (conversationFragment == null) {
mainNeedsRefresh = false;
- conversationFragment = new ConversationFragment();
- FragmentTransaction fragmentTransaction = getFragmentManager().beginTransaction();
- fragmentTransaction.replace(R.id.main_fragment, conversationFragment);
- fragmentTransaction.addToBackStack(null);
- fragmentTransaction.commit();
+ Fragment mainFragment = getFragmentManager().findFragmentById(R.id.main_fragment);
+ if (mainFragment != null && mainFragment instanceof ConversationFragment) {
+ conversationFragment = (ConversationFragment) mainFragment;
+ } else {
+ conversationFragment = new ConversationFragment();
+ FragmentTransaction fragmentTransaction = getFragmentManager().beginTransaction();
+ fragmentTransaction.replace(R.id.main_fragment, conversationFragment);
+ fragmentTransaction.addToBackStack(null);
+ fragmentTransaction.commit();
+ }
} else {
mainNeedsRefresh = true;
}
conversationFragment.reInit(conversation);
if (mainNeedsRefresh) {
refreshFragment(R.id.main_fragment);
+ } else {
+ invalidateActionBarTitle();
}
}