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