From 5419a9e10cb4c5f55d71b2942550e0bf29fe34df Mon Sep 17 00:00:00 2001 From: akwizgran <akwizgran@users.sourceforge.net> Date: Tue, 4 Feb 2014 19:05:31 +0000 Subject: [PATCH] Use Adapter.notifyDataSetChanged() rather than View.invalidateViews(). This may help with bug #27, but it doesn't solve it in all cases (eg the contact's device restarting). --- .../android/contact/ContactListActivity.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/briar-android/src/org/briarproject/android/contact/ContactListActivity.java b/briar-android/src/org/briarproject/android/contact/ContactListActivity.java index 98478a8f80..82dcc35222 100644 --- a/briar-android/src/org/briarproject/android/contact/ContactListActivity.java +++ b/briar-android/src/org/briarproject/android/contact/ContactListActivity.java @@ -39,6 +39,7 @@ import org.briarproject.api.lifecycle.LifecycleManager; import org.briarproject.api.messaging.GroupId; import org.briarproject.api.transport.ConnectionListener; import org.briarproject.api.transport.ConnectionRegistry; + import roboguice.activity.RoboActivity; import android.content.Intent; import android.os.Bundle; @@ -269,7 +270,10 @@ ConnectionListener { runOnUiThread(new Runnable() { public void run() { ContactListItem item = findItem(c); - if(item != null) item.setHeaders(headers); + if(item != null) { + item.setHeaders(headers); + adapter.notifyDataSetChanged(); + } } }); } @@ -299,10 +303,11 @@ ConnectionListener { public void run() { ContactListItem item = findItem(c); if(item == null) return; - if(LOG.isLoggable(INFO)) LOG.info("Updating connection time"); + if(LOG.isLoggable(INFO)) + LOG.info("Setting connection status " + connected); item.setConnected(connected); item.setLastConnected(System.currentTimeMillis()); - list.invalidateViews(); + adapter.notifyDataSetChanged(); } }); } -- GitLab