# HG changeset patch # User Da Risk # Date 1430432632 -7200 # Node ID 0e4be11f7b13b1c0edb40b1ae41bdd08b29e0acc # Parent 757bdaef7d63b32e99a9db0545f244aa20a32123 ContactList: Call adapter.remove() method on main thread. This fix a long time IndexOutOfBoundsException. diff -r 757bdaef7d63 -r 0e4be11f7b13 app/src/main/java/com/beem/project/beem/ui/ContactList.java --- a/app/src/main/java/com/beem/project/beem/ui/ContactList.java Tue Mar 24 17:23:15 2015 +0100 +++ b/app/src/main/java/com/beem/project/beem/ui/ContactList.java Fri May 01 00:23:52 2015 +0200 @@ -422,9 +422,15 @@ public void onEntriesUpdated(final List addresses) throws RemoteException { LOGD(TAG, "onEntries updated " + addresses); for (String cToDelete : addresses) { - Contact contact = new Contact(cToDelete); - for (ContactListAdapter adapter : contactListAdapters.values()) { - adapter.remove(contact); + final Contact contact = new Contact(cToDelete); + for (final ContactListAdapter adapter : contactListAdapters.values()) { + runOnUiThread(new Runnable() { + + @Override + public void run() { + adapter.remove(contact); + } + }); } } for (String newName : addresses) {