src/com/beem/project/beem/ui/ContactList.java
author Vincent Veronis <veroni_v@epitech.net>
Fri, 25 Sep 2009 17:15:14 +0200
changeset 395 172ed4d2b2c7
parent 394 1bc22fb59ff0
parent 392 73f7707528f0
child 397 73e2c848e08d
permissions -rw-r--r--
Merge.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
22
280112cd9602 Reorganisation des fichiers de linterface.
marseille@marseille-desktop
parents:
diff changeset
     1
package com.beem.project.beem.ui;
280112cd9602 Reorganisation des fichiers de linterface.
marseille@marseille-desktop
parents:
diff changeset
     2
382
Vincent Veronis <veroni_v@epitech.net>
parents: 381
diff changeset
     3
import java.util.ArrayList;
239
65369afd96d3 Rajout de Log dans le beem service pour les reconnections etc.
marseille@marseille-desktop
parents: 238
diff changeset
     4
import java.util.Collections;
65369afd96d3 Rajout de Log dans le beem service pour les reconnections etc.
marseille@marseille-desktop
parents: 238
diff changeset
     5
import java.util.Comparator;
382
Vincent Veronis <veroni_v@epitech.net>
parents: 381
diff changeset
     6
import java.util.HashMap;
22
280112cd9602 Reorganisation des fichiers de linterface.
marseille@marseille-desktop
parents:
diff changeset
     7
import java.util.List;
379
5f82c315ebd9 Debut gestion click dans la banner
Vincent Veronis <veroni_v@epitech.net>
parents: 378
diff changeset
     8
import java.util.Map;
52
375194dc3bca Gros menage dans les views.
marseille@KungFuh
parents: 48
diff changeset
     9
191
cc21283865ad La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents: 185
diff changeset
    10
import org.jivesoftware.smack.util.StringUtils;
cc21283865ad La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents: 185
diff changeset
    11
361
8ec622caf8d8 Integration nouvelle contact list.
marseille
parents: 349
diff changeset
    12
import android.app.Activity;
380
9416b5711edd petit commit pour bundle
Nikita Kozlov <nikita@beem-project.com>
parents: 374
diff changeset
    13
import android.content.BroadcastReceiver;
237
66ea747448ea Suppression de la beemapplication dans contactlist.
marseille@marseille-desktop
parents: 235
diff changeset
    14
import android.content.ComponentName;
361
8ec622caf8d8 Integration nouvelle contact list.
marseille
parents: 349
diff changeset
    15
import android.content.Context;
22
280112cd9602 Reorganisation des fichiers de linterface.
marseille@marseille-desktop
parents:
diff changeset
    16
import android.content.Intent;
380
9416b5711edd petit commit pour bundle
Nikita Kozlov <nikita@beem-project.com>
parents: 374
diff changeset
    17
import android.content.IntentFilter;
237
66ea747448ea Suppression de la beemapplication dans contactlist.
marseille@marseille-desktop
parents: 235
diff changeset
    18
import android.content.ServiceConnection;
60
aa70a805da17 Ajout de nombreux icones pour la gestion des status.
marseille@KungFuh
parents: 59
diff changeset
    19
import android.graphics.drawable.Drawable;
22
280112cd9602 Reorganisation des fichiers de linterface.
marseille@marseille-desktop
parents:
diff changeset
    20
import android.os.Bundle;
47
743ccc7961dc Contact liste recuperer.
marseille@KungFuh
parents: 45
diff changeset
    21
import android.os.Handler;
237
66ea747448ea Suppression de la beemapplication dans contactlist.
marseille@marseille-desktop
parents: 235
diff changeset
    22
import android.os.IBinder;
33
0e65d5f55d2f Merge with ui. Synchronous connection worked.
Da Risk <darisk972@gmail.com>
parents: 22
diff changeset
    23
import android.os.RemoteException;
0e65d5f55d2f Merge with ui. Synchronous connection worked.
Da Risk <darisk972@gmail.com>
parents: 22
diff changeset
    24
import android.util.Log;
191
cc21283865ad La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents: 185
diff changeset
    25
import android.view.LayoutInflater;
52
375194dc3bca Gros menage dans les views.
marseille@KungFuh
parents: 48
diff changeset
    26
import android.view.Menu;
375194dc3bca Gros menage dans les views.
marseille@KungFuh
parents: 48
diff changeset
    27
import android.view.MenuInflater;
375194dc3bca Gros menage dans les views.
marseille@KungFuh
parents: 48
diff changeset
    28
import android.view.MenuItem;
42
a0baf41c24a1 Ajout de la partie de barbu. Mais c'est en dur.
marseille@KungFuh
parents: 41
diff changeset
    29
import android.view.View;
47
743ccc7961dc Contact liste recuperer.
marseille@KungFuh
parents: 45
diff changeset
    30
import android.view.ViewGroup;
362
411222f0f758 Mise en place evenement long click et click.
marseille
parents: 361
diff changeset
    31
import android.widget.AdapterView;
361
8ec622caf8d8 Integration nouvelle contact list.
marseille
parents: 349
diff changeset
    32
import android.widget.BaseAdapter;
373
da35534975cd Modification de la banner.
Vincent Veronis <veroni_v@epitech.net>
parents: 372
diff changeset
    33
import android.widget.Gallery;
60
aa70a805da17 Ajout de nombreux icones pour la gestion des status.
marseille@KungFuh
parents: 59
diff changeset
    34
import android.widget.ImageView;
361
8ec622caf8d8 Integration nouvelle contact list.
marseille
parents: 349
diff changeset
    35
import android.widget.ListView;
47
743ccc7961dc Contact liste recuperer.
marseille@KungFuh
parents: 45
diff changeset
    36
import android.widget.TextView;
362
411222f0f758 Mise en place evenement long click et click.
marseille
parents: 361
diff changeset
    37
import android.widget.AdapterView.OnItemClickListener;
411222f0f758 Mise en place evenement long click et click.
marseille
parents: 361
diff changeset
    38
import android.widget.AdapterView.OnItemLongClickListener;
52
375194dc3bca Gros menage dans les views.
marseille@KungFuh
parents: 48
diff changeset
    39
237
66ea747448ea Suppression de la beemapplication dans contactlist.
marseille@marseille-desktop
parents: 235
diff changeset
    40
import com.beem.project.beem.BeemService;
59
ff98ffba21f4 Merge avec bart.
marseille@KungFuh
parents: 52
diff changeset
    41
import com.beem.project.beem.R;
38
3e76846c48a9 We can now get the contact list of the user.
Da Risk <darisk972@gmail.com>
parents: 33
diff changeset
    42
import com.beem.project.beem.service.Contact;
77
0f474a0c4e93 Hop petit commit pour que popop puisse debugger.
marseille@KungFuh
parents: 76
diff changeset
    43
import com.beem.project.beem.service.PresenceAdapter;
380
9416b5711edd petit commit pour bundle
Nikita Kozlov <nikita@beem-project.com>
parents: 374
diff changeset
    44
import com.beem.project.beem.service.XmppConnectionAdapter;
77
0f474a0c4e93 Hop petit commit pour que popop puisse debugger.
marseille@KungFuh
parents: 76
diff changeset
    45
import com.beem.project.beem.service.aidl.IBeemRosterListener;
88
7b2a869e9ef8 Changement du dialogsettings en activity.
marseille@KungFuh
parents: 87
diff changeset
    46
import com.beem.project.beem.service.aidl.IRoster;
67
8c3870db8e31 Rename some XMPP* classes in Xmpp*
Da Risk <darisk972@gmail.com>
parents: 48
diff changeset
    47
import com.beem.project.beem.service.aidl.IXmppFacade;
106
a9bc9297dff7 Amelioration de la methode change status.
Da Risk <darisk972@gmail.com>
parents: 105
diff changeset
    48
import com.beem.project.beem.utils.Status;
22
280112cd9602 Reorganisation des fichiers de linterface.
marseille@marseille-desktop
parents:
diff changeset
    49
349
84d45a88699f Checkstyle rules
darisk@kaaliyah
parents: 342
diff changeset
    50
/**
84d45a88699f Checkstyle rules
darisk@kaaliyah
parents: 342
diff changeset
    51
 * The contact list activity displays the roster of the user.
84d45a88699f Checkstyle rules
darisk@kaaliyah
parents: 342
diff changeset
    52
 */
361
8ec622caf8d8 Integration nouvelle contact list.
marseille
parents: 349
diff changeset
    53
public class ContactList extends Activity {
22
280112cd9602 Reorganisation des fichiers de linterface.
marseille@marseille-desktop
parents:
diff changeset
    54
263
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
    55
    private static final String TAG = "CONTACTLIST_ACT";
342
2b489d4a7917 Some checkstyle rules
darisk@kaaliyah
parents: 341
diff changeset
    56
    private static final int REQUEST_CODE = 1;
394
1bc22fb59ff0 Tri de la contact list.
Vincent Veronis <veroni_v@epitech.net>
parents: 386
diff changeset
    57
    private BeemContactList mAdapterContactList;
1bc22fb59ff0 Tri de la contact list.
Vincent Veronis <veroni_v@epitech.net>
parents: 386
diff changeset
    58
    private BeemBanner mAdapterBanner;
263
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
    59
    private IRoster mRoster;
382
Vincent Veronis <veroni_v@epitech.net>
parents: 381
diff changeset
    60
    private List<Contact> mListContact = new ArrayList<Contact>();
394
1bc22fb59ff0 Tri de la contact list.
Vincent Veronis <veroni_v@epitech.net>
parents: 386
diff changeset
    61
    private List<String> mListGroup = new ArrayList<String>();
382
Vincent Veronis <veroni_v@epitech.net>
parents: 381
diff changeset
    62
    private Map<String, List<Contact>> mContactOnGroup = new HashMap<String, List<Contact>>();
Vincent Veronis <veroni_v@epitech.net>
parents: 381
diff changeset
    63
    private String mCurGroup;
263
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
    64
    private Handler mHandler;
342
2b489d4a7917 Some checkstyle rules
darisk@kaaliyah
parents: 341
diff changeset
    65
    private IXmppFacade mXmppFacade;
263
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
    66
    private final ServiceConnection mServConn = new BeemServiceConnection();
382
Vincent Veronis <veroni_v@epitech.net>
parents: 381
diff changeset
    67
    private BroadcastReceiver mReceiver;
263
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
    68
390
d9737e4bc517 debut de la gestion du disconnect
Nikita Kozlov <nikita@beem-project.com>
parents: 383
diff changeset
    69
    private static final Intent SERVICE_INTENT = new Intent();
d9737e4bc517 debut de la gestion du disconnect
Nikita Kozlov <nikita@beem-project.com>
parents: 383
diff changeset
    70
    static {
d9737e4bc517 debut de la gestion du disconnect
Nikita Kozlov <nikita@beem-project.com>
parents: 383
diff changeset
    71
	SERVICE_INTENT.setComponent(new ComponentName("com.beem.project.beem", "com.beem.project.beem.BeemService"));
d9737e4bc517 debut de la gestion du disconnect
Nikita Kozlov <nikita@beem-project.com>
parents: 383
diff changeset
    72
    }
d9737e4bc517 debut de la gestion du disconnect
Nikita Kozlov <nikita@beem-project.com>
parents: 383
diff changeset
    73
263
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
    74
    /**
364
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
    75
     * Constructor.
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
    76
     */
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
    77
    public ContactList() {
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
    78
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
    79
    }
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
    80
392
Nikita Kozlov <nikita@beem-project.com>
parents: 391
diff changeset
    81
    /**
Nikita Kozlov <nikita@beem-project.com>
parents: 391
diff changeset
    82
     * {@inheritDoc}
Nikita Kozlov <nikita@beem-project.com>
parents: 391
diff changeset
    83
     */
373
da35534975cd Modification de la banner.
Vincent Veronis <veroni_v@epitech.net>
parents: 372
diff changeset
    84
    @Override
da35534975cd Modification de la banner.
Vincent Veronis <veroni_v@epitech.net>
parents: 372
diff changeset
    85
    protected void onCreate(Bundle saveBundle) {
da35534975cd Modification de la banner.
Vincent Veronis <veroni_v@epitech.net>
parents: 372
diff changeset
    86
	super.onCreate(saveBundle);
da35534975cd Modification de la banner.
Vincent Veronis <veroni_v@epitech.net>
parents: 372
diff changeset
    87
	setContentView(R.layout.contactlist);
394
1bc22fb59ff0 Tri de la contact list.
Vincent Veronis <veroni_v@epitech.net>
parents: 386
diff changeset
    88
	mAdapterContactList = new BeemContactList(this);
1bc22fb59ff0 Tri de la contact list.
Vincent Veronis <veroni_v@epitech.net>
parents: 386
diff changeset
    89
	mAdapterBanner = new BeemBanner(this);
373
da35534975cd Modification de la banner.
Vincent Veronis <veroni_v@epitech.net>
parents: 372
diff changeset
    90
	mHandler = new Handler();
382
Vincent Veronis <veroni_v@epitech.net>
parents: 381
diff changeset
    91
	mReceiver = new BeemBroadcastReceiver();
Vincent Veronis <veroni_v@epitech.net>
parents: 381
diff changeset
    92
    }
373
da35534975cd Modification de la banner.
Vincent Veronis <veroni_v@epitech.net>
parents: 372
diff changeset
    93
392
Nikita Kozlov <nikita@beem-project.com>
parents: 391
diff changeset
    94
    /**
Nikita Kozlov <nikita@beem-project.com>
parents: 391
diff changeset
    95
     * {@inheritDoc}
Nikita Kozlov <nikita@beem-project.com>
parents: 391
diff changeset
    96
     */
382
Vincent Veronis <veroni_v@epitech.net>
parents: 381
diff changeset
    97
    @Override
Vincent Veronis <veroni_v@epitech.net>
parents: 381
diff changeset
    98
    protected void onResume() {
Vincent Veronis <veroni_v@epitech.net>
parents: 381
diff changeset
    99
	super.onResume();
Vincent Veronis <veroni_v@epitech.net>
parents: 381
diff changeset
   100
	this.registerReceiver(mReceiver, new IntentFilter(XmppConnectionAdapter.BEEM_CONNECTION_CLOSED));
Vincent Veronis <veroni_v@epitech.net>
parents: 381
diff changeset
   101
    }
Vincent Veronis <veroni_v@epitech.net>
parents: 381
diff changeset
   102
392
Nikita Kozlov <nikita@beem-project.com>
parents: 391
diff changeset
   103
    /**
Nikita Kozlov <nikita@beem-project.com>
parents: 391
diff changeset
   104
     * {@inheritDoc}
Nikita Kozlov <nikita@beem-project.com>
parents: 391
diff changeset
   105
     */
382
Vincent Veronis <veroni_v@epitech.net>
parents: 381
diff changeset
   106
    @Override
Vincent Veronis <veroni_v@epitech.net>
parents: 381
diff changeset
   107
    protected void onPause() {
Vincent Veronis <veroni_v@epitech.net>
parents: 381
diff changeset
   108
	super.onPause();
Vincent Veronis <veroni_v@epitech.net>
parents: 381
diff changeset
   109
	this.unregisterReceiver(mReceiver);
373
da35534975cd Modification de la banner.
Vincent Veronis <veroni_v@epitech.net>
parents: 372
diff changeset
   110
    }
da35534975cd Modification de la banner.
Vincent Veronis <veroni_v@epitech.net>
parents: 372
diff changeset
   111
364
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   112
    /**
263
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   113
     * Callback for menu creation.
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   114
     * @param menu the menu created
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   115
     * @return true on success, false otherwise
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   116
     */
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   117
    @Override
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   118
    public final boolean onCreateOptionsMenu(Menu menu) {
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   119
	super.onCreateOptionsMenu(menu);
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   120
	MenuInflater inflater = getMenuInflater();
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   121
	inflater.inflate(R.menu.contact_list, menu);
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   122
	return true;
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   123
    }
238
ef8d8745894a Correction bug lors de la Fermeture de la contactlist
marseille@marseille-desktop
parents: 237
diff changeset
   124
263
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   125
    /**
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   126
     * Callback for menu item selected.
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   127
     * @param item the item selected
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   128
     * @return true on success, false otherwise
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   129
     */
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   130
    @Override
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   131
    public final boolean onOptionsItemSelected(MenuItem item) {
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   132
	switch (item.getItemId()) {
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   133
	    case R.id.contact_list_menu_settings:
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   134
		startActivityForResult(new Intent(this, EditSettings.class), REQUEST_CODE);
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   135
		return true;
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   136
	    case R.id.contact_list_menu_add_contact:
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   137
		startActivity(new Intent(ContactList.this, AddContact.class));
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   138
		return true;
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   139
	    default:
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   140
		return false;
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   141
	}
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   142
    }
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   143
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   144
    @Override
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   145
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   146
	super.onActivityResult(requestCode, resultCode, data);
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   147
	if (requestCode == REQUEST_CODE) {
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   148
	    if (resultCode == 69) {
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   149
		finish();
326
c5f000965df8 Reconnection
Marseille
parents: 314
diff changeset
   150
		stopService(new Intent(this, BeemService.class));
263
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   151
		startActivity(new Intent(this, Login.class));
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   152
	    }
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   153
	}
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   154
    }
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   155
364
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   156
    /**
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   157
     * {@inheritDoc}
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   158
     */
263
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   159
    @Override
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   160
    protected void onStart() {
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   161
	super.onStart();
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   162
	bindService(new Intent(this, BeemService.class), mServConn, BIND_AUTO_CREATE);
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   163
    }
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   164
364
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   165
    /**
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   166
     * {@inheritDoc}
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   167
     */
263
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   168
    @Override
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   169
    protected void onStop() {
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   170
	super.onStop();
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   171
	unbindService(mServConn);
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   172
    }
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   173
364
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   174
    /**
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   175
     * Comparator Contact by Name.
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   176
     */
263
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   177
    class ComparatorContactListByName<T> implements Comparator<T> {
364
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   178
	/**
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   179
	 * Constructor.
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   180
	 */
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   181
	public ComparatorContactListByName() {
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   182
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   183
	}
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   184
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   185
	/**
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   186
	 * {@inheritDoc}
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   187
	 */
239
65369afd96d3 Rajout de Log dans le beem service pour les reconnections etc.
marseille@marseille-desktop
parents: 238
diff changeset
   188
	@Override
263
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   189
	public int compare(T c1, T c2) {
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   190
	    return ((Contact) c1).getName().compareToIgnoreCase(((Contact) c2).getName());
240
f879726d6295 Contact List :
marseille@marseille-desktop
parents: 239
diff changeset
   191
	}
263
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   192
    }
239
65369afd96d3 Rajout de Log dans le beem service pour les reconnections etc.
marseille@marseille-desktop
parents: 238
diff changeset
   193
364
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   194
    /**
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   195
     * Comparator Contact by status and name.
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   196
     */
263
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   197
    class ComparatorContactListByStatusAndName<T> implements Comparator<T> {
364
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   198
	/**
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   199
	 * Constructor.
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   200
	 */
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   201
	public ComparatorContactListByStatusAndName() {
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   202
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   203
	}
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   204
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   205
	/**
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   206
	 * {@inheritDoc}
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   207
	 */
250
bce0846bc3ed Bug #178
nikita@nikita-lab
parents: 241
diff changeset
   208
	@Override
263
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   209
	public int compare(T c1, T c2) {
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   210
	    if (((Contact) c1).getStatus() < ((Contact) c2).getStatus()) {
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   211
		return 1;
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   212
	    } else if (((Contact) c1).getStatus() > ((Contact) c2).getStatus()) {
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   213
		return -1;
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   214
	    } else
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   215
		return ((Contact) c1).getName().compareToIgnoreCase(((Contact) c2).getName());
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   216
	}
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   217
    }
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   218
364
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   219
    /**
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   220
     * Contact List construction.
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   221
     * @param listContact Contact list.
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   222
     * @param listGroup Group list.
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   223
     */
382
Vincent Veronis <veroni_v@epitech.net>
parents: 381
diff changeset
   224
    private void buildContactList() {
Vincent Veronis <veroni_v@epitech.net>
parents: 381
diff changeset
   225
	if (mCurGroup != null) {
Vincent Veronis <veroni_v@epitech.net>
parents: 381
diff changeset
   226
	    mListContact = mContactOnGroup.get(mCurGroup);
363
c7ee14b65f39 Gestion du changement de group.
Vincent Veronis <veroni_v@epitech.net>
parents: 362
diff changeset
   227
	}
383
228b20eb8b44 Gestion banner dans la contact list.
Vincent Veronis <veroni_v@epitech.net>
parents: 382
diff changeset
   228
	sortBeemContactList();
361
8ec622caf8d8 Integration nouvelle contact list.
marseille
parents: 349
diff changeset
   229
	ListView listView = (ListView) findViewById(R.id.contactlist);
362
411222f0f758 Mise en place evenement long click et click.
marseille
parents: 361
diff changeset
   230
	listView.setOnItemClickListener(new BeemContactListOnClick());
411222f0f758 Mise en place evenement long click et click.
marseille
parents: 361
diff changeset
   231
	listView.setOnItemLongClickListener(new BeemContactListOnLongClick());
394
1bc22fb59ff0 Tri de la contact list.
Vincent Veronis <veroni_v@epitech.net>
parents: 386
diff changeset
   232
	listView.setAdapter(mAdapterContactList);
382
Vincent Veronis <veroni_v@epitech.net>
parents: 381
diff changeset
   233
    }
Vincent Veronis <veroni_v@epitech.net>
parents: 381
diff changeset
   234
Vincent Veronis <veroni_v@epitech.net>
parents: 381
diff changeset
   235
    private void buildBanner() {
373
da35534975cd Modification de la banner.
Vincent Veronis <veroni_v@epitech.net>
parents: 372
diff changeset
   236
	Gallery g = (Gallery) findViewById(R.id.gallery);
382
Vincent Veronis <veroni_v@epitech.net>
parents: 381
diff changeset
   237
	g.setOnItemClickListener(new OnItemClickGroupName());
394
1bc22fb59ff0 Tri de la contact list.
Vincent Veronis <veroni_v@epitech.net>
parents: 386
diff changeset
   238
	g.setAdapter(mAdapterBanner);
330
52e3cbc03730 MOdification de la classe ContactList.
Marseille
parents: 326
diff changeset
   239
    }
52e3cbc03730 MOdification de la classe ContactList.
Marseille
parents: 326
diff changeset
   240
364
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   241
    /**
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   242
     * Event simple click on item of the contact list.
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   243
     */
362
411222f0f758 Mise en place evenement long click et click.
marseille
parents: 361
diff changeset
   244
    public class BeemContactListOnClick implements OnItemClickListener {
364
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   245
	/**
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   246
	 * Constructor.
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   247
	 */
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   248
	public BeemContactListOnClick() {
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   249
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   250
	}
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   251
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   252
	/**
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   253
	 * {@inheritDoc}
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   254
	 */
362
411222f0f758 Mise en place evenement long click et click.
marseille
parents: 361
diff changeset
   255
	@Override
411222f0f758 Mise en place evenement long click et click.
marseille
parents: 361
diff changeset
   256
	public void onItemClick(AdapterView<?> arg0, View v, int pos, long lpos) {
411222f0f758 Mise en place evenement long click et click.
marseille
parents: 361
diff changeset
   257
	    Contact c = mListContact.get(pos);
411222f0f758 Mise en place evenement long click et click.
marseille
parents: 361
diff changeset
   258
	    Intent i = new Intent(ContactList.this, SendIM.class);
411222f0f758 Mise en place evenement long click et click.
marseille
parents: 361
diff changeset
   259
	    i.setData(c.toUri());
411222f0f758 Mise en place evenement long click et click.
marseille
parents: 361
diff changeset
   260
	    startActivity(i);
411222f0f758 Mise en place evenement long click et click.
marseille
parents: 361
diff changeset
   261
	}
411222f0f758 Mise en place evenement long click et click.
marseille
parents: 361
diff changeset
   262
    }
411222f0f758 Mise en place evenement long click et click.
marseille
parents: 361
diff changeset
   263
364
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   264
    /**
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   265
     * Event long click on item of the contact list.
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   266
     */
362
411222f0f758 Mise en place evenement long click et click.
marseille
parents: 361
diff changeset
   267
    public class BeemContactListOnLongClick implements OnItemLongClickListener {
364
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   268
	/**
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   269
	 * Constructor.
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   270
	 */
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   271
	public BeemContactListOnLongClick() {
362
411222f0f758 Mise en place evenement long click et click.
marseille
parents: 361
diff changeset
   272
364
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   273
	}
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   274
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   275
	/**
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   276
	 * {@inheritDoc}
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   277
	 */
362
411222f0f758 Mise en place evenement long click et click.
marseille
parents: 361
diff changeset
   278
	@Override
411222f0f758 Mise en place evenement long click et click.
marseille
parents: 361
diff changeset
   279
	public boolean onItemLongClick(AdapterView<?> arg0, View v, int pos, long lpos) {
411222f0f758 Mise en place evenement long click et click.
marseille
parents: 361
diff changeset
   280
	    Contact c = mListContact.get(pos);
385
df1ad72832a4 Suppression des contacts dans un groupe.
Vincent Veronis <veroni_v@epitech.net>
parents: 384
diff changeset
   281
	    ContactDialog dialogContact = new ContactDialog(ContactList.this, c, mCurGroup);
362
411222f0f758 Mise en place evenement long click et click.
marseille
parents: 361
diff changeset
   282
	    dialogContact.setOwnerActivity(ContactList.this);
411222f0f758 Mise en place evenement long click et click.
marseille
parents: 361
diff changeset
   283
	    dialogContact.show();
411222f0f758 Mise en place evenement long click et click.
marseille
parents: 361
diff changeset
   284
	    return true;
411222f0f758 Mise en place evenement long click et click.
marseille
parents: 361
diff changeset
   285
	}
411222f0f758 Mise en place evenement long click et click.
marseille
parents: 361
diff changeset
   286
    }
411222f0f758 Mise en place evenement long click et click.
marseille
parents: 361
diff changeset
   287
364
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   288
    /**
379
5f82c315ebd9 Debut gestion click dans la banner
Vincent Veronis <veroni_v@epitech.net>
parents: 378
diff changeset
   289
     * Event on middle groupe name.
5f82c315ebd9 Debut gestion click dans la banner
Vincent Veronis <veroni_v@epitech.net>
parents: 378
diff changeset
   290
     */
382
Vincent Veronis <veroni_v@epitech.net>
parents: 381
diff changeset
   291
    private class OnItemClickGroupName implements OnItemClickListener {
379
5f82c315ebd9 Debut gestion click dans la banner
Vincent Veronis <veroni_v@epitech.net>
parents: 378
diff changeset
   292
5f82c315ebd9 Debut gestion click dans la banner
Vincent Veronis <veroni_v@epitech.net>
parents: 378
diff changeset
   293
	@Override
382
Vincent Veronis <veroni_v@epitech.net>
parents: 381
diff changeset
   294
	public void onItemClick(AdapterView<?> arg0, View v, int i, long l) {
383
228b20eb8b44 Gestion banner dans la contact list.
Vincent Veronis <veroni_v@epitech.net>
parents: 382
diff changeset
   295
	    mCurGroup = mListGroup.get(i);
382
Vincent Veronis <veroni_v@epitech.net>
parents: 381
diff changeset
   296
	    buildContactList();
379
5f82c315ebd9 Debut gestion click dans la banner
Vincent Veronis <veroni_v@epitech.net>
parents: 378
diff changeset
   297
	}
5f82c315ebd9 Debut gestion click dans la banner
Vincent Veronis <veroni_v@epitech.net>
parents: 378
diff changeset
   298
    }
5f82c315ebd9 Debut gestion click dans la banner
Vincent Veronis <veroni_v@epitech.net>
parents: 378
diff changeset
   299
5f82c315ebd9 Debut gestion click dans la banner
Vincent Veronis <veroni_v@epitech.net>
parents: 378
diff changeset
   300
    /**
364
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   301
     * Sort the contact list.
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   302
     */
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   303
    private void sortBeemContactList() {
363
c7ee14b65f39 Gestion du changement de group.
Vincent Veronis <veroni_v@epitech.net>
parents: 362
diff changeset
   304
	Collections.sort(mListContact, new ComparatorContactListByStatusAndName<Contact>());
c7ee14b65f39 Gestion du changement de group.
Vincent Veronis <veroni_v@epitech.net>
parents: 362
diff changeset
   305
    }
c7ee14b65f39 Gestion du changement de group.
Vincent Veronis <veroni_v@epitech.net>
parents: 362
diff changeset
   306
364
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   307
    /**
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   308
     * Listener on service event.
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   309
     */
263
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   310
    private class BeemRosterListener extends IBeemRosterListener.Stub {
364
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   311
	/**
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   312
	 * Constructor.
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   313
	 */
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   314
	public BeemRosterListener() {
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   315
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   316
	}
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   317
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   318
	/**
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   319
	 * Refresh the contact list.
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   320
	 */
362
411222f0f758 Mise en place evenement long click et click.
marseille
parents: 361
diff changeset
   321
	private class RunnableChange implements Runnable {
364
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   322
	    /**
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   323
	     * Constructor.
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   324
	     */
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   325
	    public RunnableChange() {
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   326
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   327
	    }
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   328
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   329
	    /**
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   330
	     * {@inheritDoc}
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   331
	     */
362
411222f0f758 Mise en place evenement long click et click.
marseille
parents: 361
diff changeset
   332
	    @Override
411222f0f758 Mise en place evenement long click et click.
marseille
parents: 361
diff changeset
   333
	    public void run() {
364
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   334
		sortBeemContactList();
394
1bc22fb59ff0 Tri de la contact list.
Vincent Veronis <veroni_v@epitech.net>
parents: 386
diff changeset
   335
		mAdapterContactList.notifyDataSetChanged();
1bc22fb59ff0 Tri de la contact list.
Vincent Veronis <veroni_v@epitech.net>
parents: 386
diff changeset
   336
		mAdapterBanner.notifyDataSetChanged();
362
411222f0f758 Mise en place evenement long click et click.
marseille
parents: 361
diff changeset
   337
	    }
411222f0f758 Mise en place evenement long click et click.
marseille
parents: 361
diff changeset
   338
	}
22
280112cd9602 Reorganisation des fichiers de linterface.
marseille@marseille-desktop
parents:
diff changeset
   339
364
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   340
	/**
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   341
	 * {@inheritDoc}
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   342
	 */
212
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
   343
	@Override
263
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   344
	public void onEntriesAdded(List<String> addresses) throws RemoteException {
363
c7ee14b65f39 Gestion du changement de group.
Vincent Veronis <veroni_v@epitech.net>
parents: 362
diff changeset
   345
	    for (String newName : addresses) {
c7ee14b65f39 Gestion du changement de group.
Vincent Veronis <veroni_v@epitech.net>
parents: 362
diff changeset
   346
		Contact c = new Contact(newName);
c7ee14b65f39 Gestion du changement de group.
Vincent Veronis <veroni_v@epitech.net>
parents: 362
diff changeset
   347
		mListContact.add(c);
c7ee14b65f39 Gestion du changement de group.
Vincent Veronis <veroni_v@epitech.net>
parents: 362
diff changeset
   348
	    }
263
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   349
	    mHandler.post(new RunnableChange());
212
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
   350
	}
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
   351
364
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   352
	/**
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   353
	 * {@inheritDoc}
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   354
	 */
212
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
   355
	@Override
263
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   356
	public void onEntriesDeleted(List<String> addresses) throws RemoteException {
363
c7ee14b65f39 Gestion du changement de group.
Vincent Veronis <veroni_v@epitech.net>
parents: 362
diff changeset
   357
	    for (String cToDelete : addresses) {
c7ee14b65f39 Gestion du changement de group.
Vincent Veronis <veroni_v@epitech.net>
parents: 362
diff changeset
   358
		for (Contact c : mListContact) {
c7ee14b65f39 Gestion du changement de group.
Vincent Veronis <veroni_v@epitech.net>
parents: 362
diff changeset
   359
		    if (c.getJID().equals(cToDelete)) {
c7ee14b65f39 Gestion du changement de group.
Vincent Veronis <veroni_v@epitech.net>
parents: 362
diff changeset
   360
			mListContact.remove(c);
c7ee14b65f39 Gestion du changement de group.
Vincent Veronis <veroni_v@epitech.net>
parents: 362
diff changeset
   361
			break;
c7ee14b65f39 Gestion du changement de group.
Vincent Veronis <veroni_v@epitech.net>
parents: 362
diff changeset
   362
		    }
c7ee14b65f39 Gestion du changement de group.
Vincent Veronis <veroni_v@epitech.net>
parents: 362
diff changeset
   363
		}
c7ee14b65f39 Gestion du changement de group.
Vincent Veronis <veroni_v@epitech.net>
parents: 362
diff changeset
   364
	    }
263
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   365
	    mHandler.post(new RunnableChange());
212
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
   366
	}
170
e892a47de086 Correction de 2 3 bugs.
marseille
parents: 166
diff changeset
   367
364
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   368
	/**
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   369
	 * {@inheritDoc}
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   370
	 */
263
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   371
	@Override
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   372
	public void onEntriesUpdated(List<String> addresses) throws RemoteException {
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   373
	    mHandler.post(new RunnableChange());
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   374
	}
380
9416b5711edd petit commit pour bundle
Nikita Kozlov <nikita@beem-project.com>
parents: 374
diff changeset
   375
370
Da Risk <darisk972@gmail.com>
parents: 369 364
diff changeset
   376
	@Override
394
1bc22fb59ff0 Tri de la contact list.
Vincent Veronis <veroni_v@epitech.net>
parents: 386
diff changeset
   377
	public void onEntryDeleteFromGroup(String group, String jid) throws RemoteException {
385
df1ad72832a4 Suppression des contacts dans un groupe.
Vincent Veronis <veroni_v@epitech.net>
parents: 384
diff changeset
   378
	    List<Contact> tmpContactList = mContactOnGroup.get(group);
df1ad72832a4 Suppression des contacts dans un groupe.
Vincent Veronis <veroni_v@epitech.net>
parents: 384
diff changeset
   379
	    Contact curContact = null;
df1ad72832a4 Suppression des contacts dans un groupe.
Vincent Veronis <veroni_v@epitech.net>
parents: 384
diff changeset
   380
	    for (Contact c : tmpContactList) {
df1ad72832a4 Suppression des contacts dans un groupe.
Vincent Veronis <veroni_v@epitech.net>
parents: 384
diff changeset
   381
		if (jid.equals(c.getJID())) {
df1ad72832a4 Suppression des contacts dans un groupe.
Vincent Veronis <veroni_v@epitech.net>
parents: 384
diff changeset
   382
		    curContact = c;
df1ad72832a4 Suppression des contacts dans un groupe.
Vincent Veronis <veroni_v@epitech.net>
parents: 384
diff changeset
   383
		    tmpContactList.remove(c);
df1ad72832a4 Suppression des contacts dans un groupe.
Vincent Veronis <veroni_v@epitech.net>
parents: 384
diff changeset
   384
		    c.getGroups().remove(group);
394
1bc22fb59ff0 Tri de la contact list.
Vincent Veronis <veroni_v@epitech.net>
parents: 386
diff changeset
   385
		    if (mContactOnGroup.get(group).size() == 0) {
1bc22fb59ff0 Tri de la contact list.
Vincent Veronis <veroni_v@epitech.net>
parents: 386
diff changeset
   386
			mContactOnGroup.remove(group);
1bc22fb59ff0 Tri de la contact list.
Vincent Veronis <veroni_v@epitech.net>
parents: 386
diff changeset
   387
			mListGroup.remove(group);
1bc22fb59ff0 Tri de la contact list.
Vincent Veronis <veroni_v@epitech.net>
parents: 386
diff changeset
   388
			mListContact = mContactOnGroup.get(getString(R.string.contact_list_all_contact));
1bc22fb59ff0 Tri de la contact list.
Vincent Veronis <veroni_v@epitech.net>
parents: 386
diff changeset
   389
		    }
385
df1ad72832a4 Suppression des contacts dans un groupe.
Vincent Veronis <veroni_v@epitech.net>
parents: 384
diff changeset
   390
		    break;
df1ad72832a4 Suppression des contacts dans un groupe.
Vincent Veronis <veroni_v@epitech.net>
parents: 384
diff changeset
   391
		}
df1ad72832a4 Suppression des contacts dans un groupe.
Vincent Veronis <veroni_v@epitech.net>
parents: 384
diff changeset
   392
	    }
df1ad72832a4 Suppression des contacts dans un groupe.
Vincent Veronis <veroni_v@epitech.net>
parents: 384
diff changeset
   393
	    if (curContact != null && curContact.getGroups().size() == 0) {
df1ad72832a4 Suppression des contacts dans un groupe.
Vincent Veronis <veroni_v@epitech.net>
parents: 384
diff changeset
   394
		mContactOnGroup.get(getString(R.string.contact_list_no_group)).add(curContact);
df1ad72832a4 Suppression des contacts dans un groupe.
Vincent Veronis <veroni_v@epitech.net>
parents: 384
diff changeset
   395
	    }
df1ad72832a4 Suppression des contacts dans un groupe.
Vincent Veronis <veroni_v@epitech.net>
parents: 384
diff changeset
   396
	    mHandler.post(new RunnableChange());
382
Vincent Veronis <veroni_v@epitech.net>
parents: 381
diff changeset
   397
	}
380
9416b5711edd petit commit pour bundle
Nikita Kozlov <nikita@beem-project.com>
parents: 374
diff changeset
   398
364
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   399
	/**
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   400
	 * {@inheritDoc}
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   401
	 */
263
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   402
	@Override
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   403
	public void onPresenceChanged(PresenceAdapter presence) throws RemoteException {
369
952c6eeb6493 Gestion des resources dans la contactList
Da Risk <darisk972@gmail.com>
parents: 349
diff changeset
   404
	    String from = presence.getFrom();
952c6eeb6493 Gestion des resources dans la contactList
Da Risk <darisk972@gmail.com>
parents: 349
diff changeset
   405
	    boolean resfound = false;
362
411222f0f758 Mise en place evenement long click et click.
marseille
parents: 361
diff changeset
   406
	    for (Contact curContact : mListContact) {
369
952c6eeb6493 Gestion des resources dans la contactList
Da Risk <darisk972@gmail.com>
parents: 349
diff changeset
   407
		if (curContact.getJID().equals(StringUtils.parseBareAddress(from))) {
952c6eeb6493 Gestion des resources dans la contactList
Da Risk <darisk972@gmail.com>
parents: 349
diff changeset
   408
		    String pres = StringUtils.parseResource(from);
952c6eeb6493 Gestion des resources dans la contactList
Da Risk <darisk972@gmail.com>
parents: 349
diff changeset
   409
		    for (String res : curContact.getMRes()) {
380
9416b5711edd petit commit pour bundle
Nikita Kozlov <nikita@beem-project.com>
parents: 374
diff changeset
   410
			if (res.equals(pres)) {
9416b5711edd petit commit pour bundle
Nikita Kozlov <nikita@beem-project.com>
parents: 374
diff changeset
   411
			    resfound = true;
9416b5711edd petit commit pour bundle
Nikita Kozlov <nikita@beem-project.com>
parents: 374
diff changeset
   412
			    break;
9416b5711edd petit commit pour bundle
Nikita Kozlov <nikita@beem-project.com>
parents: 374
diff changeset
   413
			}
9416b5711edd petit commit pour bundle
Nikita Kozlov <nikita@beem-project.com>
parents: 374
diff changeset
   414
		    }
362
411222f0f758 Mise en place evenement long click et click.
marseille
parents: 361
diff changeset
   415
		    curContact.setStatus(mRoster.getPresence(StringUtils.parseBareAddress(presence.getFrom())));
369
952c6eeb6493 Gestion des resources dans la contactList
Da Risk <darisk972@gmail.com>
parents: 349
diff changeset
   416
		    int status = presence.getStatus();
378
735a00bd56cb MOdification contact list.
Vincent Veronis <veroni_v@epitech.net>
parents: 374
diff changeset
   417
		    if (!resfound
735a00bd56cb MOdification contact list.
Vincent Veronis <veroni_v@epitech.net>
parents: 374
diff changeset
   418
			&& (status != Status.CONTACT_STATUS_DISCONNECT && status != Status.CONTACT_STATUS_UNAVAILABLE))
369
952c6eeb6493 Gestion des resources dans la contactList
Da Risk <darisk972@gmail.com>
parents: 349
diff changeset
   419
			curContact.addRes(pres);
378
735a00bd56cb MOdification contact list.
Vincent Veronis <veroni_v@epitech.net>
parents: 374
diff changeset
   420
		    else if (resfound
735a00bd56cb MOdification contact list.
Vincent Veronis <veroni_v@epitech.net>
parents: 374
diff changeset
   421
			&& (status == Status.CONTACT_STATUS_DISCONNECT && status == Status.CONTACT_STATUS_UNAVAILABLE))
369
952c6eeb6493 Gestion des resources dans la contactList
Da Risk <darisk972@gmail.com>
parents: 349
diff changeset
   422
			curContact.delRes(pres);
362
411222f0f758 Mise en place evenement long click et click.
marseille
parents: 361
diff changeset
   423
		    mHandler.post(new RunnableChange());
411222f0f758 Mise en place evenement long click et click.
marseille
parents: 361
diff changeset
   424
		    return;
411222f0f758 Mise en place evenement long click et click.
marseille
parents: 361
diff changeset
   425
		}
263
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   426
	    }
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   427
	}
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   428
    }
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   429
364
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   430
    /**
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   431
     * Adapter contact list.
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   432
     */
361
8ec622caf8d8 Integration nouvelle contact list.
marseille
parents: 349
diff changeset
   433
    private class BeemContactList extends BaseAdapter {
8ec622caf8d8 Integration nouvelle contact list.
marseille
parents: 349
diff changeset
   434
	private LayoutInflater mInflater;
263
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   435
364
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   436
	/**
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   437
	 * Constructor.
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   438
	 * @param context context activity.
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   439
	 */
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   440
	public BeemContactList(final Context context) {
361
8ec622caf8d8 Integration nouvelle contact list.
marseille
parents: 349
diff changeset
   441
	    mInflater = LayoutInflater.from(context);
212
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
   442
	}
372
0a00323e7e5b Defilement des boutons dans la banniere.
Vincent Veronis <veroni_v@epitech.net>
parents: 364
diff changeset
   443
364
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   444
	/**
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   445
	 * {@inheritDoc}
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   446
	 */
361
8ec622caf8d8 Integration nouvelle contact list.
marseille
parents: 349
diff changeset
   447
	@Override
8ec622caf8d8 Integration nouvelle contact list.
marseille
parents: 349
diff changeset
   448
	public int getCount() {
8ec622caf8d8 Integration nouvelle contact list.
marseille
parents: 349
diff changeset
   449
	    return mListContact.size();
263
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   450
	}
372
0a00323e7e5b Defilement des boutons dans la banniere.
Vincent Veronis <veroni_v@epitech.net>
parents: 364
diff changeset
   451
364
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   452
	/**
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   453
	 * {@inheritDoc}
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   454
	 */
263
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   455
	@Override
361
8ec622caf8d8 Integration nouvelle contact list.
marseille
parents: 349
diff changeset
   456
	public Object getItem(int position) {
8ec622caf8d8 Integration nouvelle contact list.
marseille
parents: 349
diff changeset
   457
	    return position;
8ec622caf8d8 Integration nouvelle contact list.
marseille
parents: 349
diff changeset
   458
	}
372
0a00323e7e5b Defilement des boutons dans la banniere.
Vincent Veronis <veroni_v@epitech.net>
parents: 364
diff changeset
   459
364
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   460
	/**
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   461
	 * {@inheritDoc}
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   462
	 */
361
8ec622caf8d8 Integration nouvelle contact list.
marseille
parents: 349
diff changeset
   463
	@Override
8ec622caf8d8 Integration nouvelle contact list.
marseille
parents: 349
diff changeset
   464
	public long getItemId(int position) {
8ec622caf8d8 Integration nouvelle contact list.
marseille
parents: 349
diff changeset
   465
	    return position;
8ec622caf8d8 Integration nouvelle contact list.
marseille
parents: 349
diff changeset
   466
	}
372
0a00323e7e5b Defilement des boutons dans la banniere.
Vincent Veronis <veroni_v@epitech.net>
parents: 364
diff changeset
   467
364
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   468
	/**
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   469
	 * {@inheritDoc}
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   470
	 */
361
8ec622caf8d8 Integration nouvelle contact list.
marseille
parents: 349
diff changeset
   471
	@Override
8ec622caf8d8 Integration nouvelle contact list.
marseille
parents: 349
diff changeset
   472
	public View getView(int position, View convertView, ViewGroup parent) {
364
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   473
	    View v = convertView;
361
8ec622caf8d8 Integration nouvelle contact list.
marseille
parents: 349
diff changeset
   474
	    if (convertView == null) {
364
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   475
		v = mInflater.inflate(R.layout.contactlistcontact, null);
361
8ec622caf8d8 Integration nouvelle contact list.
marseille
parents: 349
diff changeset
   476
	    }
8ec622caf8d8 Integration nouvelle contact list.
marseille
parents: 349
diff changeset
   477
8ec622caf8d8 Integration nouvelle contact list.
marseille
parents: 349
diff changeset
   478
	    Contact c = mListContact.get(position);
364
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   479
	    bindView(v, c);
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   480
	    return v;
263
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   481
	}
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   482
364
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   483
	/**
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   484
	 * Adapte curContact to the view.
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   485
	 * @param view the row view.
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   486
	 * @param curContact the current contact.
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   487
	 */
263
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   488
	private void bindView(View view, Contact curContact) {
250
bce0846bc3ed Bug #178
nikita@nikita-lab
parents: 241
diff changeset
   489
263
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   490
	    if (curContact != null) {
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   491
		ImageView imgV = (ImageView) view.findViewById(R.id.contactliststatus);
276
673ee3896d50 Petite modification couleur texte
Philippe Lago <lago_p@epitech.net>
parents: 267
diff changeset
   492
		TextView v = (TextView) view.findViewById(R.id.contactlistpseudo);
263
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   493
		Drawable imageDrawable = null;
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   494
		switch (curContact.getStatus()) {
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   495
		    case Status.CONTACT_STATUS_AVAILABLE:
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   496
			imageDrawable = getResources().getDrawable(R.drawable.online);
276
673ee3896d50 Petite modification couleur texte
Philippe Lago <lago_p@epitech.net>
parents: 267
diff changeset
   497
			v.setTextColor(getResources().getColor(R.color.white));
263
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   498
			break;
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   499
		    case Status.CONTACT_STATUS_AVAILABLE_FOR_CHAT:
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   500
			imageDrawable = getResources().getDrawable(R.drawable.chat);
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   501
			break;
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   502
		    case Status.CONTACT_STATUS_AWAY:
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   503
			imageDrawable = getResources().getDrawable(R.drawable.away);
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   504
			break;
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   505
		    case Status.CONTACT_STATUS_BUSY:
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   506
			imageDrawable = getResources().getDrawable(R.drawable.dnd);
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   507
			break;
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   508
		    case Status.CONTACT_STATUS_DISCONNECT:
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   509
			imageDrawable = getResources().getDrawable(R.drawable.offline);
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   510
			break;
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   511
		    case Status.CONTACT_STATUS_UNAVAILABLE:
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   512
			imageDrawable = getResources().getDrawable(R.drawable.requested);
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   513
			break;
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   514
		    default:
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   515
			imageDrawable = getResources().getDrawable(R.drawable.error);
390
d9737e4bc517 debut de la gestion du disconnect
Nikita Kozlov <nikita@beem-project.com>
parents: 383
diff changeset
   516
		    break;
250
bce0846bc3ed Bug #178
nikita@nikita-lab
parents: 241
diff changeset
   517
		}
263
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   518
		imgV.setImageDrawable(imageDrawable);
326
c5f000965df8 Reconnection
Marseille
parents: 314
diff changeset
   519
303
5427deeda4e0 bug des blanks contacts
nikita@localhost
parents: 301
diff changeset
   520
		String mContactName = curContact.getName();
5427deeda4e0 bug des blanks contacts
nikita@localhost
parents: 301
diff changeset
   521
		if ("".equals(mContactName)) {
5427deeda4e0 bug des blanks contacts
nikita@localhost
parents: 301
diff changeset
   522
		    mContactName = curContact.getJID();
5427deeda4e0 bug des blanks contacts
nikita@localhost
parents: 301
diff changeset
   523
		    mContactName = StringUtils.parseName(mContactName);
5427deeda4e0 bug des blanks contacts
nikita@localhost
parents: 301
diff changeset
   524
		    if ("".equals(mContactName))
5427deeda4e0 bug des blanks contacts
nikita@localhost
parents: 301
diff changeset
   525
			mContactName = curContact.getJID();
250
bce0846bc3ed Bug #178
nikita@nikita-lab
parents: 241
diff changeset
   526
		}
303
5427deeda4e0 bug des blanks contacts
nikita@localhost
parents: 301
diff changeset
   527
		v.setText(mContactName);
212
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
   528
263
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   529
		v = (TextView) view.findViewById(R.id.contactlistmsgperso);
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   530
		if (v != null) {
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   531
		    v.setText(curContact.getMsgState());
250
bce0846bc3ed Bug #178
nikita@nikita-lab
parents: 241
diff changeset
   532
		}
bce0846bc3ed Bug #178
nikita@nikita-lab
parents: 241
diff changeset
   533
293
597ee98a6477 Suppression de l'avatar !
Marseille
parents: 289
diff changeset
   534
		/*
364
ed2f2e30c2fc Correction checkstyle
Vincent Veronis <veroni_v@epitech.net>
parents: 363
diff changeset
   535
		 * Rajouter l'avatar du contact getAvatar() dans la classe imgV = (ImageView)
293
597ee98a6477 Suppression de l'avatar !
Marseille
parents: 289
diff changeset
   536
		 * view.findViewById(R.id.contactlistavatar); if (imgV != null) { imageDrawable =
597ee98a6477 Suppression de l'avatar !
Marseille
parents: 289
diff changeset
   537
		 * getResources().getDrawable(R.drawable.avatar); imgV.setImageDrawable(imageDrawable); }
597ee98a6477 Suppression de l'avatar !
Marseille
parents: 289
diff changeset
   538
		 */
263
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   539
	    }
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   540
	}
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   541
    }
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   542
349
84d45a88699f Checkstyle rules
darisk@kaaliyah
parents: 342
diff changeset
   543
    /**
373
da35534975cd Modification de la banner.
Vincent Veronis <veroni_v@epitech.net>
parents: 372
diff changeset
   544
     * Adapter banner list.
da35534975cd Modification de la banner.
Vincent Veronis <veroni_v@epitech.net>
parents: 372
diff changeset
   545
     */
379
5f82c315ebd9 Debut gestion click dans la banner
Vincent Veronis <veroni_v@epitech.net>
parents: 378
diff changeset
   546
    public class BeemBanner extends BaseAdapter {
373
da35534975cd Modification de la banner.
Vincent Veronis <veroni_v@epitech.net>
parents: 372
diff changeset
   547
	private Context mContext;
da35534975cd Modification de la banner.
Vincent Veronis <veroni_v@epitech.net>
parents: 372
diff changeset
   548
da35534975cd Modification de la banner.
Vincent Veronis <veroni_v@epitech.net>
parents: 372
diff changeset
   549
	/**
da35534975cd Modification de la banner.
Vincent Veronis <veroni_v@epitech.net>
parents: 372
diff changeset
   550
	 * Constructor.
da35534975cd Modification de la banner.
Vincent Veronis <veroni_v@epitech.net>
parents: 372
diff changeset
   551
	 * @param c context activity.
da35534975cd Modification de la banner.
Vincent Veronis <veroni_v@epitech.net>
parents: 372
diff changeset
   552
	 */
379
5f82c315ebd9 Debut gestion click dans la banner
Vincent Veronis <veroni_v@epitech.net>
parents: 378
diff changeset
   553
	public BeemBanner(final Context c) {
373
da35534975cd Modification de la banner.
Vincent Veronis <veroni_v@epitech.net>
parents: 372
diff changeset
   554
	    mContext = c;
da35534975cd Modification de la banner.
Vincent Veronis <veroni_v@epitech.net>
parents: 372
diff changeset
   555
	}
da35534975cd Modification de la banner.
Vincent Veronis <veroni_v@epitech.net>
parents: 372
diff changeset
   556
da35534975cd Modification de la banner.
Vincent Veronis <veroni_v@epitech.net>
parents: 372
diff changeset
   557
	/**
da35534975cd Modification de la banner.
Vincent Veronis <veroni_v@epitech.net>
parents: 372
diff changeset
   558
	 * {@inheritDoc}
da35534975cd Modification de la banner.
Vincent Veronis <veroni_v@epitech.net>
parents: 372
diff changeset
   559
	 */
da35534975cd Modification de la banner.
Vincent Veronis <veroni_v@epitech.net>
parents: 372
diff changeset
   560
	@Override
da35534975cd Modification de la banner.
Vincent Veronis <veroni_v@epitech.net>
parents: 372
diff changeset
   561
	public int getCount() {
da35534975cd Modification de la banner.
Vincent Veronis <veroni_v@epitech.net>
parents: 372
diff changeset
   562
	    return mListGroup.size();
da35534975cd Modification de la banner.
Vincent Veronis <veroni_v@epitech.net>
parents: 372
diff changeset
   563
	}
da35534975cd Modification de la banner.
Vincent Veronis <veroni_v@epitech.net>
parents: 372
diff changeset
   564
da35534975cd Modification de la banner.
Vincent Veronis <veroni_v@epitech.net>
parents: 372
diff changeset
   565
	/**
da35534975cd Modification de la banner.
Vincent Veronis <veroni_v@epitech.net>
parents: 372
diff changeset
   566
	 * {@inheritDoc}
da35534975cd Modification de la banner.
Vincent Veronis <veroni_v@epitech.net>
parents: 372
diff changeset
   567
	 */
da35534975cd Modification de la banner.
Vincent Veronis <veroni_v@epitech.net>
parents: 372
diff changeset
   568
	@Override
da35534975cd Modification de la banner.
Vincent Veronis <veroni_v@epitech.net>
parents: 372
diff changeset
   569
	public Object getItem(int position) {
da35534975cd Modification de la banner.
Vincent Veronis <veroni_v@epitech.net>
parents: 372
diff changeset
   570
	    return position;
da35534975cd Modification de la banner.
Vincent Veronis <veroni_v@epitech.net>
parents: 372
diff changeset
   571
	}
da35534975cd Modification de la banner.
Vincent Veronis <veroni_v@epitech.net>
parents: 372
diff changeset
   572
da35534975cd Modification de la banner.
Vincent Veronis <veroni_v@epitech.net>
parents: 372
diff changeset
   573
	/**
da35534975cd Modification de la banner.
Vincent Veronis <veroni_v@epitech.net>
parents: 372
diff changeset
   574
	 * {@inheritDoc}
da35534975cd Modification de la banner.
Vincent Veronis <veroni_v@epitech.net>
parents: 372
diff changeset
   575
	 */
da35534975cd Modification de la banner.
Vincent Veronis <veroni_v@epitech.net>
parents: 372
diff changeset
   576
	@Override
da35534975cd Modification de la banner.
Vincent Veronis <veroni_v@epitech.net>
parents: 372
diff changeset
   577
	public long getItemId(int position) {
da35534975cd Modification de la banner.
Vincent Veronis <veroni_v@epitech.net>
parents: 372
diff changeset
   578
	    return position;
da35534975cd Modification de la banner.
Vincent Veronis <veroni_v@epitech.net>
parents: 372
diff changeset
   579
	}
da35534975cd Modification de la banner.
Vincent Veronis <veroni_v@epitech.net>
parents: 372
diff changeset
   580
da35534975cd Modification de la banner.
Vincent Veronis <veroni_v@epitech.net>
parents: 372
diff changeset
   581
	/**
da35534975cd Modification de la banner.
Vincent Veronis <veroni_v@epitech.net>
parents: 372
diff changeset
   582
	 * {@inheritDoc}
da35534975cd Modification de la banner.
Vincent Veronis <veroni_v@epitech.net>
parents: 372
diff changeset
   583
	 */
da35534975cd Modification de la banner.
Vincent Veronis <veroni_v@epitech.net>
parents: 372
diff changeset
   584
	@Override
da35534975cd Modification de la banner.
Vincent Veronis <veroni_v@epitech.net>
parents: 372
diff changeset
   585
	public View getView(int position, View convertView, ViewGroup parent) {
da35534975cd Modification de la banner.
Vincent Veronis <veroni_v@epitech.net>
parents: 372
diff changeset
   586
	    TextView i = new TextView(mContext);
da35534975cd Modification de la banner.
Vincent Veronis <veroni_v@epitech.net>
parents: 372
diff changeset
   587
	    i.setText(mListGroup.get(position));
da35534975cd Modification de la banner.
Vincent Veronis <veroni_v@epitech.net>
parents: 372
diff changeset
   588
	    return i;
da35534975cd Modification de la banner.
Vincent Veronis <veroni_v@epitech.net>
parents: 372
diff changeset
   589
	}
da35534975cd Modification de la banner.
Vincent Veronis <veroni_v@epitech.net>
parents: 372
diff changeset
   590
da35534975cd Modification de la banner.
Vincent Veronis <veroni_v@epitech.net>
parents: 372
diff changeset
   591
    }
da35534975cd Modification de la banner.
Vincent Veronis <veroni_v@epitech.net>
parents: 372
diff changeset
   592
da35534975cd Modification de la banner.
Vincent Veronis <veroni_v@epitech.net>
parents: 372
diff changeset
   593
    /**
349
84d45a88699f Checkstyle rules
darisk@kaaliyah
parents: 342
diff changeset
   594
     * The service connection used to connect to the Beem service.
84d45a88699f Checkstyle rules
darisk@kaaliyah
parents: 342
diff changeset
   595
     */
263
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   596
    private class BeemServiceConnection implements ServiceConnection {
342
2b489d4a7917 Some checkstyle rules
darisk@kaaliyah
parents: 341
diff changeset
   597
	private BeemRosterListener mBeemRosterListener = new BeemRosterListener();
263
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   598
349
84d45a88699f Checkstyle rules
darisk@kaaliyah
parents: 342
diff changeset
   599
	/**
84d45a88699f Checkstyle rules
darisk@kaaliyah
parents: 342
diff changeset
   600
	 * Constructor.
84d45a88699f Checkstyle rules
darisk@kaaliyah
parents: 342
diff changeset
   601
	 */
361
8ec622caf8d8 Integration nouvelle contact list.
marseille
parents: 349
diff changeset
   602
	public BeemServiceConnection() {
8ec622caf8d8 Integration nouvelle contact list.
marseille
parents: 349
diff changeset
   603
	}
8ec622caf8d8 Integration nouvelle contact list.
marseille
parents: 349
diff changeset
   604
263
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   605
	@Override
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   606
	public void onServiceConnected(ComponentName name, IBinder service) {
340
5dee5c1e4a29 Some checkstyle rules
darisk@kaaliyah
parents: 336
diff changeset
   607
	    mXmppFacade = IXmppFacade.Stub.asInterface(service);
263
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   608
	    try {
340
5dee5c1e4a29 Some checkstyle rules
darisk@kaaliyah
parents: 336
diff changeset
   609
		mRoster = mXmppFacade.getRoster();
263
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   610
		if (mRoster != null) {
286
8979375c19f0 Suppression de contact.
Marseille
parents: 285
diff changeset
   611
		    mRoster.addRosterListener(mBeemRosterListener);
382
Vincent Veronis <veroni_v@epitech.net>
parents: 381
diff changeset
   612
		    List<Contact> tmpContactList = mRoster.getContactList();
Vincent Veronis <veroni_v@epitech.net>
parents: 381
diff changeset
   613
		    List<String> tmpGroupList = mRoster.getGroupsNames();
Vincent Veronis <veroni_v@epitech.net>
parents: 381
diff changeset
   614
		    Collections.sort(tmpGroupList);
394
1bc22fb59ff0 Tri de la contact list.
Vincent Veronis <veroni_v@epitech.net>
parents: 386
diff changeset
   615
		    if (mListGroup.size() > 0)
1bc22fb59ff0 Tri de la contact list.
Vincent Veronis <veroni_v@epitech.net>
parents: 386
diff changeset
   616
			mListGroup.clear();
1bc22fb59ff0 Tri de la contact list.
Vincent Veronis <veroni_v@epitech.net>
parents: 386
diff changeset
   617
		    mListGroup.add(getString(R.string.contact_list_all_contact));
1bc22fb59ff0 Tri de la contact list.
Vincent Veronis <veroni_v@epitech.net>
parents: 386
diff changeset
   618
		    mListGroup.addAll(tmpGroupList);
384
0909c0428116 Gestion des contacts sans groupe.
Vincent Veronis <veroni_v@epitech.net>
parents: 383
diff changeset
   619
		    mListGroup.add(getString(R.string.contact_list_no_group));
382
Vincent Veronis <veroni_v@epitech.net>
parents: 381
diff changeset
   620
		    if (tmpGroupList.size() > 0) {
384
0909c0428116 Gestion des contacts sans groupe.
Vincent Veronis <veroni_v@epitech.net>
parents: 383
diff changeset
   621
			List<Contact> tmpNoGroup = new ArrayList<Contact>();
382
Vincent Veronis <veroni_v@epitech.net>
parents: 381
diff changeset
   622
			for (String s : tmpGroupList) {
Vincent Veronis <veroni_v@epitech.net>
parents: 381
diff changeset
   623
			    List<Contact> tmpList = new ArrayList<Contact>();
Vincent Veronis <veroni_v@epitech.net>
parents: 381
diff changeset
   624
			    for (Contact c : tmpContactList) {
384
0909c0428116 Gestion des contacts sans groupe.
Vincent Veronis <veroni_v@epitech.net>
parents: 383
diff changeset
   625
				if (c.getGroups().size() == 0 && !tmpNoGroup.contains(c))
0909c0428116 Gestion des contacts sans groupe.
Vincent Veronis <veroni_v@epitech.net>
parents: 383
diff changeset
   626
				    tmpNoGroup.add(c);
0909c0428116 Gestion des contacts sans groupe.
Vincent Veronis <veroni_v@epitech.net>
parents: 383
diff changeset
   627
				else if (c.getGroups().contains(s))
382
Vincent Veronis <veroni_v@epitech.net>
parents: 381
diff changeset
   628
				    tmpList.add(c);
Vincent Veronis <veroni_v@epitech.net>
parents: 381
diff changeset
   629
			    }
Vincent Veronis <veroni_v@epitech.net>
parents: 381
diff changeset
   630
			    mContactOnGroup.put(s, tmpList);
Vincent Veronis <veroni_v@epitech.net>
parents: 381
diff changeset
   631
			}
384
0909c0428116 Gestion des contacts sans groupe.
Vincent Veronis <veroni_v@epitech.net>
parents: 383
diff changeset
   632
			mContactOnGroup.put(getString(R.string.contact_list_no_group), tmpNoGroup);
382
Vincent Veronis <veroni_v@epitech.net>
parents: 381
diff changeset
   633
		    } else {
394
1bc22fb59ff0 Tri de la contact list.
Vincent Veronis <veroni_v@epitech.net>
parents: 386
diff changeset
   634
			mContactOnGroup.put(getString(R.string.contact_list_no_group), tmpContactList);
382
Vincent Veronis <veroni_v@epitech.net>
parents: 381
diff changeset
   635
		    }
394
1bc22fb59ff0 Tri de la contact list.
Vincent Veronis <veroni_v@epitech.net>
parents: 386
diff changeset
   636
		    mContactOnGroup.put(getString(R.string.contact_list_all_contact), tmpContactList);
1bc22fb59ff0 Tri de la contact list.
Vincent Veronis <veroni_v@epitech.net>
parents: 386
diff changeset
   637
		    mCurGroup = getString(R.string.contact_list_all_contact);
382
Vincent Veronis <veroni_v@epitech.net>
parents: 381
diff changeset
   638
		    buildBanner();
Vincent Veronis <veroni_v@epitech.net>
parents: 381
diff changeset
   639
		    buildContactList();
250
bce0846bc3ed Bug #178
nikita@nikita-lab
parents: 241
diff changeset
   640
		}
263
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   641
	    } catch (RemoteException e) {
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   642
		e.printStackTrace();
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   643
	    }
380
9416b5711edd petit commit pour bundle
Nikita Kozlov <nikita@beem-project.com>
parents: 374
diff changeset
   644
263
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   645
	}
191
cc21283865ad La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents: 185
diff changeset
   646
263
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   647
	@Override
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   648
	public void onServiceDisconnected(ComponentName name) {
286
8979375c19f0 Suppression de contact.
Marseille
parents: 285
diff changeset
   649
	    try {
8979375c19f0 Suppression de contact.
Marseille
parents: 285
diff changeset
   650
		mRoster.removeRosterListener(mBeemRosterListener);
8979375c19f0 Suppression de contact.
Marseille
parents: 285
diff changeset
   651
	    } catch (RemoteException e) {
8979375c19f0 Suppression de contact.
Marseille
parents: 285
diff changeset
   652
		e.printStackTrace();
8979375c19f0 Suppression de contact.
Marseille
parents: 285
diff changeset
   653
	    }
340
5dee5c1e4a29 Some checkstyle rules
darisk@kaaliyah
parents: 336
diff changeset
   654
	    mXmppFacade = null;
263
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   655
	    mRoster = null;
191
cc21283865ad La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents: 185
diff changeset
   656
	}
263
ff0b4790a5ed La gestion de la connection et des changement de settings a ete revu.
marseille@marseille-desktop
parents: 260
diff changeset
   657
    }
380
9416b5711edd petit commit pour bundle
Nikita Kozlov <nikita@beem-project.com>
parents: 374
diff changeset
   658
9416b5711edd petit commit pour bundle
Nikita Kozlov <nikita@beem-project.com>
parents: 374
diff changeset
   659
    private class BeemBroadcastReceiver extends BroadcastReceiver {
9416b5711edd petit commit pour bundle
Nikita Kozlov <nikita@beem-project.com>
parents: 374
diff changeset
   660
	@Override
9416b5711edd petit commit pour bundle
Nikita Kozlov <nikita@beem-project.com>
parents: 374
diff changeset
   661
	public void onReceive(Context context, Intent intent) {
9416b5711edd petit commit pour bundle
Nikita Kozlov <nikita@beem-project.com>
parents: 374
diff changeset
   662
	    Log.d(TAG, "broadcast received");
390
d9737e4bc517 debut de la gestion du disconnect
Nikita Kozlov <nikita@beem-project.com>
parents: 383
diff changeset
   663
	    stopService(SERVICE_INTENT);
d9737e4bc517 debut de la gestion du disconnect
Nikita Kozlov <nikita@beem-project.com>
parents: 383
diff changeset
   664
	    startActivity(new Intent(ContactList.this, Login.class));
d9737e4bc517 debut de la gestion du disconnect
Nikita Kozlov <nikita@beem-project.com>
parents: 383
diff changeset
   665
	    finish();
380
9416b5711edd petit commit pour bundle
Nikita Kozlov <nikita@beem-project.com>
parents: 374
diff changeset
   666
	}
9416b5711edd petit commit pour bundle
Nikita Kozlov <nikita@beem-project.com>
parents: 374
diff changeset
   667
    }
184
e9d73490be9b Ajout du message d'etat dans la contact list
marseille
parents: 175 179
diff changeset
   668
}