# HG changeset patch # User nikita@nikita-lab # Date 1242942657 -7200 # Node ID fb0591e482d8c8aaa18a2dc2a0bb7e6d7af3ee9a # Parent 4f1b3af03671c87e233acdd739b57a554ce346c4 go maison diff -r 4f1b3af03671 -r fb0591e482d8 src/com/beem/project/beem/ui/ContactList.java --- a/src/com/beem/project/beem/ui/ContactList.java Thu May 21 22:18:14 2009 +0200 +++ b/src/com/beem/project/beem/ui/ContactList.java Thu May 21 23:50:57 2009 +0200 @@ -60,14 +60,8 @@ mRosterListener = new BeemRosterListener(); mSettings = getSharedPreferences(getString(R.string.PreferenceFileName), MODE_PRIVATE); mBeemApplication = BeemApplication.getApplication(this); - - //TODO: a refaire - /*if (mSettings.getString(getString(R.string.PreferenceHostKey), "").equals("")) - startActivityForResult(new Intent(this, ContactListSettings.class), PREFERENCECHANGED);*/ - } - - @Override - protected void onResume() { + groupMap = new HashMap>(); + groupName = new ArrayList(); mBeemApplication.callWhenConnectedToServer(mHandler, new Runnable() { @Override public void run() { @@ -87,8 +81,10 @@ callbackShowContactList(); } }); - super.onResume(); - } + //TODO: a refaire + if (mSettings.getString(getString(R.string.PreferenceHostKey), "").equals("")) + startActivityForResult(new Intent(ContactList.this, ContactListSettings.class), PREFERENCECHANGED); + } @Override protected void onDestroy() { @@ -97,12 +93,13 @@ } private void callbackShowContactList() { - if (mRoster != null) + if (mRoster != null) { try { buildContactList(mRoster.getContactList()); } catch (RemoteException e) { e.printStackTrace(); } + } } /** @@ -145,8 +142,6 @@ } protected void onActivityResult(int requestCode, int resultCode, Intent data) { - //TODO:marche pas - Log.d(TAG, "onActivityResult" ); if (requestCode == PREFERENCECHANGED) { Log.d(TAG, "onPREFERENCECHANGED"); if (resultCode == RESULT_OK) { @@ -155,9 +150,6 @@ mBeemApplication.stopBeemService(); } } - if (requestCode == 1) { - Log.d(TAG, "onSENDIMRESULT"); - } } @Override @@ -174,9 +166,7 @@ } private void buildContactList(List listContact) { - mListContact = listContact; - groupMap = new HashMap>(); - groupName = new ArrayList(); + mListContact = listContact; for (Contact contact : listContact) { for (String group: contact.getGroups()) { if (!groupMap.containsKey(group)) { @@ -184,7 +174,8 @@ groupName.add(group); } try { - groupMap.get(group).add(contact); + if (!groupMap.get(group).contains(contact)) + groupMap.get(group).add(contact); } catch (NullPointerException e) { Log.e(TAG, "Failed to find group in groupMap", e); }