diff options
Diffstat (limited to 'src/eu/siacs/conversations/ui/ConversationActivity.java')
-rw-r--r-- | src/eu/siacs/conversations/ui/ConversationActivity.java | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/src/eu/siacs/conversations/ui/ConversationActivity.java b/src/eu/siacs/conversations/ui/ConversationActivity.java index 02d78427..ced860da 100644 --- a/src/eu/siacs/conversations/ui/ConversationActivity.java +++ b/src/eu/siacs/conversations/ui/ConversationActivity.java @@ -407,9 +407,8 @@ public class ConversationActivity extends XmppActivity { public void onStart() { super.onStart(); - if (xmppConnectionServiceBound) { - xmppConnectionService.setOnConversationListChangedListener(this.onConvChanged); - } + this.registerListener(); + xmppConnectionService.setOnConversationListChangedListener(this.onConvChanged); if (conversationList.size()>=1) { onConvChanged.onConversationListChanged(); } @@ -427,8 +426,7 @@ public class ConversationActivity extends XmppActivity { @Override void onBackendConnected() { - xmppConnectionService.setOnConversationListChangedListener(this.onConvChanged); - + this.registerListener(); if (conversationList.size()==0) { conversationList.addAll(xmppConnectionService .getConversations()); @@ -472,7 +470,13 @@ public class ConversationActivity extends XmppActivity { } } } - @Override + public void registerListener() { + if (xmppConnectionServiceBound) { + xmppConnectionService.setOnConversationListChangedListener(this.onConvChanged); + } + } + + @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (resultCode == RESULT_OK) { |