From be3c7aec0313fc7219d3d54dd968ffc4a2aa2692 Mon Sep 17 00:00:00 2001 From: Nanang Izzuddin Date: Wed, 5 Feb 2014 06:34:00 +0000 Subject: Re #1716: Fixed crash in adding buddy, caused by immediate buddy state notification right after adding buddy to account, while UI buddy list has not been updated yet. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@4733 74dad513-b988-da41-8d7b-12977e46ad98 --- .../swig/java/android/src/org/pjsip/pjsua2/app/MainActivity.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pjsip-apps/src/swig/java/android/src/org/pjsip/pjsua2/app/MainActivity.java b/pjsip-apps/src/swig/java/android/src/org/pjsip/pjsua2/app/MainActivity.java index 34633f97..47cf286d 100644 --- a/pjsip-apps/src/swig/java/android/src/org/pjsip/pjsua2/app/MainActivity.java +++ b/pjsip-apps/src/swig/java/android/src/org/pjsip/pjsua2/app/MainActivity.java @@ -179,7 +179,11 @@ public class MainActivity extends Activity implements Handler.Callback, MyAppObs MyBuddy buddy = (MyBuddy) m.obj; int idx = account.buddyList.indexOf(buddy); - if (idx >= 0) { + + /* Update buddy status text, if buddy is valid and + * the buddy lists in account and UI are sync-ed. + */ + if (idx >= 0 && account.buddyList.size() == buddyList.size()) { buddyList.get(idx).put("status", buddy.getStatusText()); buddyListAdapter.notifyDataSetChanged(); // TODO: selection color/mark is gone after this, -- cgit v1.2.3