From 4307b1de723a5ec28610580ad04bb7cb327b264c Mon Sep 17 00:00:00 2001 From: iNPUTmice Date: Fri, 18 Jul 2014 15:35:31 +0200 Subject: notify ui on roster changes --- .../siacs/conversations/ui/ContactDetailsActivity.java | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'src/eu/siacs/conversations/ui/ContactDetailsActivity.java') diff --git a/src/eu/siacs/conversations/ui/ContactDetailsActivity.java b/src/eu/siacs/conversations/ui/ContactDetailsActivity.java index a8527feb..e29a6390 100644 --- a/src/eu/siacs/conversations/ui/ContactDetailsActivity.java +++ b/src/eu/siacs/conversations/ui/ContactDetailsActivity.java @@ -31,6 +31,7 @@ import eu.siacs.conversations.entities.Account; import eu.siacs.conversations.entities.Contact; import eu.siacs.conversations.entities.Presences; import eu.siacs.conversations.services.XmppConnectionService; +import eu.siacs.conversations.services.XmppConnectionService.OnRosterUpdate; import eu.siacs.conversations.utils.UIHelper; import eu.siacs.conversations.xmpp.stanzas.PresencePacket; @@ -89,6 +90,20 @@ public class ContactDetailsActivity extends XmppActivity { private LinearLayout keys; + private OnRosterUpdate rosterUpdate = new OnRosterUpdate() { + + @Override + public void onRosterUpdate() { + runOnUiThread(new Runnable() { + + @Override + public void run() { + populateView(); + } + }); + } + }; + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -270,6 +285,7 @@ public class ContactDetailsActivity extends XmppActivity { @Override public void onBackendConnected() { + xmppConnectionService.setOnRosterUpdateListener(this.rosterUpdate ); if ((accountJid != null)&&(contactJid != null)) { Account account = xmppConnectionService.findAccountByJid(accountJid); if (account==null) { @@ -356,6 +372,7 @@ public class ContactDetailsActivity extends XmppActivity { } } } + xmppConnectionService.removeOnRosterUpdateListener(); } } -- cgit v1.2.3