src/com/beem/project/beem/ui/Chat.java
author Jean-Manuel Da Silva <dasilvj@gmail.com>
Sun, 15 Nov 2009 23:03:19 +0100
changeset 518 6b8089c9b834
parent 517 fd6c52c23165
child 520 88a19fcd70b3
permissions -rw-r--r--
Creation de l'activite PrivacyList et d'une interface PrivacyListListener ainsi que son implementation.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
480
eb6f1fbea903 Premier jet de l'activite chat, devant remplacer par la suite SendIM.
dasilvj
parents:
diff changeset
     1
package com.beem.project.beem.ui;
eb6f1fbea903 Premier jet de l'activite chat, devant remplacer par la suite SendIM.
dasilvj
parents:
diff changeset
     2
493
56af5554a081 Save of the work on activity Chat.
dasilvj
parents: 480
diff changeset
     3
import java.util.ArrayList;
56af5554a081 Save of the work on activity Chat.
dasilvj
parents: 480
diff changeset
     4
import java.util.HashMap;
480
eb6f1fbea903 Premier jet de l'activite chat, devant remplacer par la suite SendIM.
dasilvj
parents:
diff changeset
     5
import java.util.List;
493
56af5554a081 Save of the work on activity Chat.
dasilvj
parents: 480
diff changeset
     6
import java.util.Map;
56af5554a081 Save of the work on activity Chat.
dasilvj
parents: 480
diff changeset
     7
56af5554a081 Save of the work on activity Chat.
dasilvj
parents: 480
diff changeset
     8
import org.jivesoftware.smack.util.StringUtils;
480
eb6f1fbea903 Premier jet de l'activite chat, devant remplacer par la suite SendIM.
dasilvj
parents:
diff changeset
     9
eb6f1fbea903 Premier jet de l'activite chat, devant remplacer par la suite SendIM.
dasilvj
parents:
diff changeset
    10
import android.app.Activity;
508
7d8da3df2907 Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents: 503
diff changeset
    11
import android.app.AlertDialog;
480
eb6f1fbea903 Premier jet de l'activite chat, devant remplacer par la suite SendIM.
dasilvj
parents:
diff changeset
    12
import android.content.ComponentName;
493
56af5554a081 Save of the work on activity Chat.
dasilvj
parents: 480
diff changeset
    13
import android.content.Context;
508
7d8da3df2907 Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents: 503
diff changeset
    14
import android.content.DialogInterface;
480
eb6f1fbea903 Premier jet de l'activite chat, devant remplacer par la suite SendIM.
dasilvj
parents:
diff changeset
    15
import android.content.Intent;
eb6f1fbea903 Premier jet de l'activite chat, devant remplacer par la suite SendIM.
dasilvj
parents:
diff changeset
    16
import android.content.IntentFilter;
eb6f1fbea903 Premier jet de l'activite chat, devant remplacer par la suite SendIM.
dasilvj
parents:
diff changeset
    17
import android.content.ServiceConnection;
493
56af5554a081 Save of the work on activity Chat.
dasilvj
parents: 480
diff changeset
    18
import android.graphics.Bitmap;
56af5554a081 Save of the work on activity Chat.
dasilvj
parents: 480
diff changeset
    19
import android.graphics.BitmapFactory;
500
4da77df8f950 Intégration de l´activité Chat à la place de l´activité SendIM
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 493
diff changeset
    20
import android.graphics.Color;
4da77df8f950 Intégration de l´activité Chat à la place de l´activité SendIM
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 493
diff changeset
    21
import android.graphics.Typeface;
480
eb6f1fbea903 Premier jet de l'activite chat, devant remplacer par la suite SendIM.
dasilvj
parents:
diff changeset
    22
import android.os.Bundle;
eb6f1fbea903 Premier jet de l'activite chat, devant remplacer par la suite SendIM.
dasilvj
parents:
diff changeset
    23
import android.os.Handler;
eb6f1fbea903 Premier jet de l'activite chat, devant remplacer par la suite SendIM.
dasilvj
parents:
diff changeset
    24
import android.os.IBinder;
eb6f1fbea903 Premier jet de l'activite chat, devant remplacer par la suite SendIM.
dasilvj
parents:
diff changeset
    25
import android.os.RemoteException;
493
56af5554a081 Save of the work on activity Chat.
dasilvj
parents: 480
diff changeset
    26
import android.text.util.Linkify;
480
eb6f1fbea903 Premier jet de l'activite chat, devant remplacer par la suite SendIM.
dasilvj
parents:
diff changeset
    27
import android.util.Log;
500
4da77df8f950 Intégration de l´activité Chat à la place de l´activité SendIM
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 493
diff changeset
    28
import android.view.KeyEvent;
508
7d8da3df2907 Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents: 503
diff changeset
    29
import android.view.Menu;
7d8da3df2907 Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents: 503
diff changeset
    30
import android.view.MenuInflater;
7d8da3df2907 Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents: 503
diff changeset
    31
import android.view.MenuItem;
493
56af5554a081 Save of the work on activity Chat.
dasilvj
parents: 480
diff changeset
    32
import android.view.View;
56af5554a081 Save of the work on activity Chat.
dasilvj
parents: 480
diff changeset
    33
import android.view.ViewGroup;
517
fd6c52c23165 Ajout du bouton "Envoyer" dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 514
diff changeset
    34
import android.view.View.OnClickListener;
500
4da77df8f950 Intégration de l´activité Chat à la place de l´activité SendIM
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 493
diff changeset
    35
import android.view.View.OnKeyListener;
493
56af5554a081 Save of the work on activity Chat.
dasilvj
parents: 480
diff changeset
    36
import android.widget.BaseAdapter;
517
fd6c52c23165 Ajout du bouton "Envoyer" dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 514
diff changeset
    37
import android.widget.Button;
480
eb6f1fbea903 Premier jet de l'activite chat, devant remplacer par la suite SendIM.
dasilvj
parents:
diff changeset
    38
import android.widget.EditText;
493
56af5554a081 Save of the work on activity Chat.
dasilvj
parents: 480
diff changeset
    39
import android.widget.ImageView;
56af5554a081 Save of the work on activity Chat.
dasilvj
parents: 480
diff changeset
    40
import android.widget.LinearLayout;
56af5554a081 Save of the work on activity Chat.
dasilvj
parents: 480
diff changeset
    41
import android.widget.ListView;
480
eb6f1fbea903 Premier jet de l'activite chat, devant remplacer par la suite SendIM.
dasilvj
parents:
diff changeset
    42
import android.widget.TextView;
eb6f1fbea903 Premier jet de l'activite chat, devant remplacer par la suite SendIM.
dasilvj
parents:
diff changeset
    43
493
56af5554a081 Save of the work on activity Chat.
dasilvj
parents: 480
diff changeset
    44
import com.beem.project.beem.BeemService;
480
eb6f1fbea903 Premier jet de l'activite chat, devant remplacer par la suite SendIM.
dasilvj
parents:
diff changeset
    45
import com.beem.project.beem.R;
eb6f1fbea903 Premier jet de l'activite chat, devant remplacer par la suite SendIM.
dasilvj
parents:
diff changeset
    46
import com.beem.project.beem.service.Contact;
eb6f1fbea903 Premier jet de l'activite chat, devant remplacer par la suite SendIM.
dasilvj
parents:
diff changeset
    47
import com.beem.project.beem.service.Message;
eb6f1fbea903 Premier jet de l'activite chat, devant remplacer par la suite SendIM.
dasilvj
parents:
diff changeset
    48
import com.beem.project.beem.service.PresenceAdapter;
eb6f1fbea903 Premier jet de l'activite chat, devant remplacer par la suite SendIM.
dasilvj
parents:
diff changeset
    49
import com.beem.project.beem.service.aidl.IBeemRosterListener;
eb6f1fbea903 Premier jet de l'activite chat, devant remplacer par la suite SendIM.
dasilvj
parents:
diff changeset
    50
import com.beem.project.beem.service.aidl.IChat;
493
56af5554a081 Save of the work on activity Chat.
dasilvj
parents: 480
diff changeset
    51
import com.beem.project.beem.service.aidl.IChatManager;
56af5554a081 Save of the work on activity Chat.
dasilvj
parents: 480
diff changeset
    52
import com.beem.project.beem.service.aidl.IChatManagerListener;
480
eb6f1fbea903 Premier jet de l'activite chat, devant remplacer par la suite SendIM.
dasilvj
parents:
diff changeset
    53
import com.beem.project.beem.service.aidl.IMessageListener;
eb6f1fbea903 Premier jet de l'activite chat, devant remplacer par la suite SendIM.
dasilvj
parents:
diff changeset
    54
import com.beem.project.beem.service.aidl.IRoster;
eb6f1fbea903 Premier jet de l'activite chat, devant remplacer par la suite SendIM.
dasilvj
parents:
diff changeset
    55
import com.beem.project.beem.service.aidl.IXmppFacade;
eb6f1fbea903 Premier jet de l'activite chat, devant remplacer par la suite SendIM.
dasilvj
parents:
diff changeset
    56
import com.beem.project.beem.utils.BeemBroadcastReceiver;
493
56af5554a081 Save of the work on activity Chat.
dasilvj
parents: 480
diff changeset
    57
import com.beem.project.beem.utils.Status;
480
eb6f1fbea903 Premier jet de l'activite chat, devant remplacer par la suite SendIM.
dasilvj
parents:
diff changeset
    58
514
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
    59
/**
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
    60
 * This class represents an activity which allows the user to chat with his/her contacts.
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
    61
 * @author Jean-Manuel Da Silva <dasilvj at beem-project dot com>
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
    62
 */
500
4da77df8f950 Intégration de l´activité Chat à la place de l´activité SendIM
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 493
diff changeset
    63
public class Chat extends Activity implements OnKeyListener {
493
56af5554a081 Save of the work on activity Chat.
dasilvj
parents: 480
diff changeset
    64
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    65
    private static final String TAG = "Chat";
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    66
    private static final Intent SERVICE_INTENT = new Intent();
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    67
    static {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    68
	SERVICE_INTENT.setComponent(new ComponentName("com.beem.project.beem", "com.beem.project.beem.BeemService"));
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    69
    }
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    70
    private Handler mHandler = new Handler();
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    71
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    72
    private IRoster mRoster;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    73
    private Contact mContact;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    74
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    75
    private TextView mContactNameTextView;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    76
    private TextView mContactStatusMsgTextView;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    77
    private ImageView mContactStatusIcon;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    78
    private ListView mMessagesListView;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    79
    private EditText mInputField;
517
fd6c52c23165 Ajout du bouton "Envoyer" dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 514
diff changeset
    80
    private Button mSendButton;
514
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
    81
    private final Map<Integer, Bitmap> mStatusIconsMap = new HashMap<Integer, Bitmap>();
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    82
514
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
    83
    private final List<MessageText> mListMessages = new ArrayList<MessageText>();
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    84
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    85
    private IChat mChat;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    86
    private IChatManager mChatManager;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    87
    private IChatManagerListener mChatManagerListener;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    88
    private IMessageListener mMessageListener;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    89
    private MessagesListAdapter mMessagesListAdapter;
500
4da77df8f950 Intégration de l´activité Chat à la place de l´activité SendIM
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 493
diff changeset
    90
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    91
    private final ServiceConnection mConn = new BeemServiceConnection();
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    92
    private BeemBroadcastReceiver mBroadcastReceiver;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    93
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    94
    /**
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    95
     * Constructor.
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    96
     */
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    97
    public Chat() {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    98
	super();
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    99
    }
480
eb6f1fbea903 Premier jet de l'activite chat, devant remplacer par la suite SendIM.
dasilvj
parents:
diff changeset
   100
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   101
    /**
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   102
     * {@inheritDoc}.
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   103
     */
514
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   104
    @Override
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   105
    protected void onCreate(Bundle savedBundle) {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   106
	super.onCreate(savedBundle);
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   107
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   108
	Log.v(TAG, "BEGIN onCreate.");
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   109
	setContentView(R.layout.chat);
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   110
	mMessagesListAdapter = new MessagesListAdapter(this);
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   111
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   112
	mHandler = new Handler();
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   113
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   114
	// Listeners
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   115
	mMessageListener = new OnMessageListener();
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   116
	mChatManagerListener = new OnChatManagerListener();
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   117
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   118
	mBroadcastReceiver = new BeemBroadcastReceiver(mConn);
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   119
	this.registerReceiver(mBroadcastReceiver, new IntentFilter(BeemBroadcastReceiver.BEEM_CONNECTION_CLOSED));
480
eb6f1fbea903 Premier jet de l'activite chat, devant remplacer par la suite SendIM.
dasilvj
parents:
diff changeset
   120
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   121
	// UI
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   122
	mContactNameTextView = (TextView) findViewById(R.id.chat_contact_name);
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   123
	mContactStatusMsgTextView = (TextView) findViewById(R.id.chat_contact_status_msg);
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   124
	mContactStatusIcon = (ImageView) findViewById(R.id.chat_contact_status_icon);
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   125
	mMessagesListView = (ListView) findViewById(R.id.chat_messages);
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   126
	mMessagesListView.setAdapter(mMessagesListAdapter);
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   127
	mInputField = (EditText) findViewById(R.id.chat_input);
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   128
	mInputField.setOnKeyListener(this);
517
fd6c52c23165 Ajout du bouton "Envoyer" dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 514
diff changeset
   129
	mSendButton = (Button) findViewById(R.id.chat_send_message);
fd6c52c23165 Ajout du bouton "Envoyer" dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 514
diff changeset
   130
	mSendButton.setOnClickListener(new OnClickListener() {
fd6c52c23165 Ajout du bouton "Envoyer" dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 514
diff changeset
   131
	    @Override
fd6c52c23165 Ajout du bouton "Envoyer" dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 514
diff changeset
   132
	    public void onClick(View v) {
fd6c52c23165 Ajout du bouton "Envoyer" dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 514
diff changeset
   133
		sendMessage();
fd6c52c23165 Ajout du bouton "Envoyer" dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 514
diff changeset
   134
	    }
fd6c52c23165 Ajout du bouton "Envoyer" dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 514
diff changeset
   135
	});
480
eb6f1fbea903 Premier jet de l'activite chat, devant remplacer par la suite SendIM.
dasilvj
parents:
diff changeset
   136
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   137
	prepareIconsStatus();
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   138
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   139
	Log.v(TAG, "END onCreate.");
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   140
    }
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   141
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   142
    /**
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   143
     * {@inheritDoc}.
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   144
     */
514
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   145
    @Override
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   146
    protected void onDestroy() {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   147
	super.onDestroy();
493
56af5554a081 Save of the work on activity Chat.
dasilvj
parents: 480
diff changeset
   148
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   149
	Log.v(TAG, "BEGIN onDestroy.");
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   150
	this.unregisterReceiver(mBroadcastReceiver);
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   151
	if (mChatManager != null) {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   152
	    try {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   153
		mChatManager.removeChatCreationListener(mChatManagerListener);
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   154
	    } catch (RemoteException e) {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   155
		Log.e(TAG, e.getMessage());
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   156
	    }
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   157
	}
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   158
	Log.v(TAG, "END onDestroy.");
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   159
    }
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   160
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   161
    /**
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   162
     * {@inheritDoc}.
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   163
     */
514
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   164
    @Override
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   165
    protected void onStart() {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   166
	super.onStart();
480
eb6f1fbea903 Premier jet de l'activite chat, devant remplacer par la suite SendIM.
dasilvj
parents:
diff changeset
   167
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   168
	Log.v(TAG, "BEGIN onStart.");
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   169
	bindService(new Intent(this, BeemService.class), mConn, BIND_AUTO_CREATE);
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   170
	Log.v(TAG, "END onStart.");
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   171
    }
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   172
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   173
    /**
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   174
     * {@inheritDoc}.
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   175
     */
514
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   176
    @Override
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   177
    protected void onStop() {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   178
	super.onStop();
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   179
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   180
	Log.v(TAG, "BEGIN onStop.");
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   181
	if (mChat != null) {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   182
	    try {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   183
		mChat.setOpen(false);
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   184
	    } catch (RemoteException e) {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   185
		Log.e(TAG, e.getMessage());
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   186
	    }
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   187
	}
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   188
	if (mBroadcastReceiver.isBinded()) {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   189
	    unbindService(mConn);
500
4da77df8f950 Intégration de l´activité Chat à la place de l´activité SendIM
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 493
diff changeset
   190
	}
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   191
	Log.v(TAG, "END onStop.");
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   192
    }
500
4da77df8f950 Intégration de l´activité Chat à la place de l´activité SendIM
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 493
diff changeset
   193
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   194
    /**
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   195
     * {@inheritDoc}.
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   196
     */
514
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   197
    @Override
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   198
    protected void onResume() {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   199
	super.onResume();
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   200
    }
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   201
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   202
    /**
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   203
     * {@inheritDoc}.
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   204
     */
514
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   205
    @Override
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   206
    protected void onPause() {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   207
	super.onPause();
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   208
    }
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   209
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   210
    /**
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   211
     * {@inheritDoc}.
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   212
     */
514
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   213
    @Override
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   214
    protected void onNewIntent(Intent intent) {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   215
	super.onNewIntent(intent);
500
4da77df8f950 Intégration de l´activité Chat à la place de l´activité SendIM
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 493
diff changeset
   216
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   217
	Log.v(TAG, "BEGIN onNewIntent.");
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   218
	try {
514
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   219
	    mContact = new Contact(intent.getData());
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   220
	    changeCurrentChat(mContact);
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   221
	} catch (RemoteException e) {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   222
	    Log.e(TAG, e.getMessage());
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   223
	}
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   224
	Log.v(TAG, "END onNewIntent.");
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   225
    }
500
4da77df8f950 Intégration de l´activité Chat à la place de l´activité SendIM
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 493
diff changeset
   226
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   227
    /**
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   228
     * {@inheritDoc}.
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   229
     */
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   230
    @Override
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   231
    protected void onSaveInstanceState(Bundle savedInstanceState) {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   232
	// TODO
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   233
	super.onSaveInstanceState(savedInstanceState);
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   234
    }
500
4da77df8f950 Intégration de l´activité Chat à la place de l´activité SendIM
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 493
diff changeset
   235
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   236
    /**
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   237
     * {@inheritDoc}.
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   238
     */
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   239
    @Override
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   240
    protected void onRestoreInstanceState(Bundle savedInstanceState) {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   241
	super.onRestoreInstanceState(savedInstanceState);
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   242
	// TODO
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   243
    }
500
4da77df8f950 Intégration de l´activité Chat à la place de l´activité SendIM
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 493
diff changeset
   244
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   245
    /**
508
7d8da3df2907 Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents: 503
diff changeset
   246
     * {@inheritDoc}.
7d8da3df2907 Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents: 503
diff changeset
   247
     */
7d8da3df2907 Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents: 503
diff changeset
   248
    @Override
7d8da3df2907 Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents: 503
diff changeset
   249
    public final boolean onCreateOptionsMenu(Menu menu) {
7d8da3df2907 Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents: 503
diff changeset
   250
	super.onCreateOptionsMenu(menu);
7d8da3df2907 Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents: 503
diff changeset
   251
7d8da3df2907 Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents: 503
diff changeset
   252
	MenuInflater inflater = getMenuInflater();
7d8da3df2907 Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents: 503
diff changeset
   253
	inflater.inflate(R.menu.chat, menu);
7d8da3df2907 Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents: 503
diff changeset
   254
	return true;
7d8da3df2907 Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents: 503
diff changeset
   255
    }
7d8da3df2907 Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents: 503
diff changeset
   256
7d8da3df2907 Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents: 503
diff changeset
   257
    /**
7d8da3df2907 Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents: 503
diff changeset
   258
     * {@inheritDoc}.
7d8da3df2907 Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents: 503
diff changeset
   259
     */
7d8da3df2907 Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents: 503
diff changeset
   260
    @Override
7d8da3df2907 Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents: 503
diff changeset
   261
    public final boolean onOptionsItemSelected(MenuItem item) {
7d8da3df2907 Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents: 503
diff changeset
   262
	switch (item.getItemId()) {
7d8da3df2907 Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents: 503
diff changeset
   263
	    case R.id.chat_menu_contacts_list:
7d8da3df2907 Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents: 503
diff changeset
   264
		Intent contactListIntent = new Intent(this, ContactList.class);
7d8da3df2907 Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents: 503
diff changeset
   265
		contactListIntent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT | Intent.FLAG_ACTIVITY_SINGLE_TOP);
7d8da3df2907 Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents: 503
diff changeset
   266
		startActivity(contactListIntent);
7d8da3df2907 Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents: 503
diff changeset
   267
		return true;
7d8da3df2907 Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents: 503
diff changeset
   268
	    case R.id.chat_menu_change_chat:
7d8da3df2907 Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents: 503
diff changeset
   269
		try {
7d8da3df2907 Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents: 503
diff changeset
   270
		    final List<Contact> openedChats = mChatManager.getOpenedChatList();
514
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   271
509
18217d0805d7 Ajout d'une petite gestion d'erreur
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents: 508
diff changeset
   272
		    if (openedChats.size() > 0)
512
296f08e23545 Renommage de certaines methodes
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 509
diff changeset
   273
			createChatSwitcherDialog(openedChats);
509
18217d0805d7 Ajout d'une petite gestion d'erreur
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents: 508
diff changeset
   274
		    else
512
296f08e23545 Renommage de certaines methodes
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 509
diff changeset
   275
			createNoActiveChatsDialog();
508
7d8da3df2907 Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents: 503
diff changeset
   276
		} catch (RemoteException e) {
7d8da3df2907 Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents: 503
diff changeset
   277
		    Log.e(TAG, e.getMessage());
7d8da3df2907 Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents: 503
diff changeset
   278
		}
7d8da3df2907 Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents: 503
diff changeset
   279
		return true;
509
18217d0805d7 Ajout d'une petite gestion d'erreur
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents: 508
diff changeset
   280
	    case R.id.chat_menu_close_chat:
18217d0805d7 Ajout d'une petite gestion d'erreur
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents: 508
diff changeset
   281
		try {
18217d0805d7 Ajout d'une petite gestion d'erreur
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents: 508
diff changeset
   282
		    mChatManager.destroyChat(mChat);
18217d0805d7 Ajout d'une petite gestion d'erreur
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents: 508
diff changeset
   283
		} catch (RemoteException e) {
18217d0805d7 Ajout d'une petite gestion d'erreur
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents: 508
diff changeset
   284
		    Log.e(TAG, e.getMessage());
18217d0805d7 Ajout d'une petite gestion d'erreur
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents: 508
diff changeset
   285
		}
18217d0805d7 Ajout d'une petite gestion d'erreur
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents: 508
diff changeset
   286
		this.finish();
18217d0805d7 Ajout d'une petite gestion d'erreur
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents: 508
diff changeset
   287
		return true;
508
7d8da3df2907 Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents: 503
diff changeset
   288
	    default:
7d8da3df2907 Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents: 503
diff changeset
   289
		return false;
7d8da3df2907 Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents: 503
diff changeset
   290
	}
7d8da3df2907 Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents: 503
diff changeset
   291
    }
7d8da3df2907 Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents: 503
diff changeset
   292
7d8da3df2907 Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents: 503
diff changeset
   293
    /**
7d8da3df2907 Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents: 503
diff changeset
   294
     * Create the change chat dialog.
7d8da3df2907 Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents: 503
diff changeset
   295
     * @param openedChats A list containing the JID of participants of the opened chats.
7d8da3df2907 Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents: 503
diff changeset
   296
     */
512
296f08e23545 Renommage de certaines methodes
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 509
diff changeset
   297
    private void createChatSwitcherDialog(final List<Contact> openedChats) {
508
7d8da3df2907 Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents: 503
diff changeset
   298
	CharSequence[] items = new CharSequence[openedChats.size()];
7d8da3df2907 Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents: 503
diff changeset
   299
7d8da3df2907 Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents: 503
diff changeset
   300
	int i = 0;
7d8da3df2907 Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents: 503
diff changeset
   301
	for (Contact c : openedChats) {
7d8da3df2907 Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents: 503
diff changeset
   302
	    items[i++] = c.getName();
7d8da3df2907 Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents: 503
diff changeset
   303
	}
7d8da3df2907 Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents: 503
diff changeset
   304
7d8da3df2907 Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents: 503
diff changeset
   305
	AlertDialog.Builder builder = new AlertDialog.Builder(this);
7d8da3df2907 Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents: 503
diff changeset
   306
	builder.setTitle(getString(R.string.chat_dialog_change_chat_title));
7d8da3df2907 Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents: 503
diff changeset
   307
	builder.setItems(items, new DialogInterface.OnClickListener() {
7d8da3df2907 Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents: 503
diff changeset
   308
	    public void onClick(DialogInterface dialog, int item) {
7d8da3df2907 Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents: 503
diff changeset
   309
		Intent chatIntent = new Intent(getApplicationContext(), com.beem.project.beem.ui.Chat.class);
7d8da3df2907 Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents: 503
diff changeset
   310
		try {
7d8da3df2907 Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents: 503
diff changeset
   311
		    chatIntent.setData(mRoster.getContact(openedChats.get(item).getJID()).toUri());
7d8da3df2907 Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents: 503
diff changeset
   312
		} catch (RemoteException e) {
7d8da3df2907 Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents: 503
diff changeset
   313
		    Log.e(TAG, e.getMessage());
7d8da3df2907 Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents: 503
diff changeset
   314
		}
7d8da3df2907 Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents: 503
diff changeset
   315
		Chat.this.onNewIntent(chatIntent);
7d8da3df2907 Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents: 503
diff changeset
   316
	    }
7d8da3df2907 Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents: 503
diff changeset
   317
	});
512
296f08e23545 Renommage de certaines methodes
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 509
diff changeset
   318
	AlertDialog chatSwitcherDialog = builder.create();
296f08e23545 Renommage de certaines methodes
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 509
diff changeset
   319
	chatSwitcherDialog.show();
508
7d8da3df2907 Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents: 503
diff changeset
   320
    }
514
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   321
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   322
    /**
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   323
     * Create a dialog which notify the user that there're not another one active chat.
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   324
     */
512
296f08e23545 Renommage de certaines methodes
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 509
diff changeset
   325
    private void createNoActiveChatsDialog() {
509
18217d0805d7 Ajout d'une petite gestion d'erreur
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents: 508
diff changeset
   326
	AlertDialog.Builder builder = new AlertDialog.Builder(this);
18217d0805d7 Ajout d'une petite gestion d'erreur
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents: 508
diff changeset
   327
	builder.setMessage(getString(R.string.chat_no_more_chats));
512
296f08e23545 Renommage de certaines methodes
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 509
diff changeset
   328
	AlertDialog noActiveChatsDialog = builder.create();
296f08e23545 Renommage de certaines methodes
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 509
diff changeset
   329
	noActiveChatsDialog.show();
509
18217d0805d7 Ajout d'une petite gestion d'erreur
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents: 508
diff changeset
   330
    }
508
7d8da3df2907 Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents: 503
diff changeset
   331
7d8da3df2907 Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents: 503
diff changeset
   332
    /**
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   333
     * Change the displayed chat.
514
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   334
     * @param contact the targeted contact of the new chat
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   335
     * @throws RemoteException If a Binder remote-invocation error occurred.
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   336
     */
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   337
    private void changeCurrentChat(Contact contact) throws RemoteException {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   338
	Log.v(TAG, "BEGIN changeCurrentChat.");
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   339
	if (mChat != null)
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   340
	    mChat.setOpen(false);
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   341
	mChat = mChatManager.createChat(contact, mMessageListener);
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   342
	mChat.setOpen(true);
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   343
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   344
	mChatManager.deleteChatNotification(mChat);
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   345
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   346
	mContact = mRoster.getContact(contact.getJID());
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   347
	updateContactInformations();
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   348
	updateContactStatusIcon();
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   349
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   350
	playRegisteredTranscript();
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   351
	Log.v(TAG, "END changeCurrentChat.");
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   352
    }
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   353
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   354
    /**
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   355
     * Get all messages from the current chat and refresh the activity with them.
514
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   356
     * @throws RemoteException If a Binder remote-invocation error occurred.
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   357
     */
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   358
    private void playRegisteredTranscript() throws RemoteException {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   359
	String fromBareJid = null;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   360
	String fromName = null;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   361
	List<Message> chatMessages = mChat.getMessages();
500
4da77df8f950 Intégration de l´activité Chat à la place de l´activité SendIM
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 493
diff changeset
   362
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   363
	Log.v(TAG, "BEGIN playRegisteredTranscript.");
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   364
	mListMessages.clear();
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   365
	if (chatMessages.size() > 0) {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   366
	    MessageText lastMessage = null;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   367
	    for (Message m : chatMessages) {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   368
		fromBareJid = StringUtils.parseBareAddress(m.getFrom());
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   369
		fromName = mContact.getName();
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   370
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   371
		if (fromBareJid == null) {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   372
		    fromBareJid = getString(R.string.chat_self);
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   373
		    fromName = getString(R.string.chat_self);
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   374
		}
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   375
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   376
		if (lastMessage == null) {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   377
		    lastMessage = new MessageText(fromBareJid, fromName, m.getBody());
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   378
		    continue;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   379
		}
500
4da77df8f950 Intégration de l´activité Chat à la place de l´activité SendIM
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 493
diff changeset
   380
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   381
		if (!lastMessage.getBareJid().equals(fromBareJid)) {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   382
		    mListMessages.add(lastMessage);
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   383
		    lastMessage = new MessageText(fromBareJid, fromName, m.getBody());
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   384
		} else
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   385
		    lastMessage.setMessage(lastMessage.getMessage().concat("\n" + m.getBody()));
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   386
	    }
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   387
	    mListMessages.add(lastMessage);
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   388
	}
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   389
	mMessagesListAdapter.notifyDataSetChanged();
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   390
	Log.v(TAG, "END playRegisteredTranscript.");
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   391
    }
500
4da77df8f950 Intégration de l´activité Chat à la place de l´activité SendIM
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 493
diff changeset
   392
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   393
    /**
514
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   394
     * {@inheritDoc}.
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   395
     */
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   396
    private final class BeemServiceConnection implements ServiceConnection {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   397
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   398
	private IXmppFacade mXmppFacade;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   399
	private final BeemRosterListener mBeemRosterListener = new BeemRosterListener();
500
4da77df8f950 Intégration de l´activité Chat à la place de l´activité SendIM
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 493
diff changeset
   400
4da77df8f950 Intégration de l´activité Chat à la place de l´activité SendIM
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 493
diff changeset
   401
	/**
4da77df8f950 Intégration de l´activité Chat à la place de l´activité SendIM
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 493
diff changeset
   402
	 * {@inheritDoc}.
4da77df8f950 Intégration de l´activité Chat à la place de l´activité SendIM
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 493
diff changeset
   403
	 */
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   404
	@Override
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   405
	public void onServiceConnected(ComponentName name, IBinder service) {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   406
	    Log.v(TAG, "BEGIN onServiceConnected.");
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   407
	    mXmppFacade = IXmppFacade.Stub.asInterface(service);
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   408
	    mBroadcastReceiver.setBinded(true);
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   409
	    try {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   410
		mChatManager = mXmppFacade.getChatManager();
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   411
		mRoster = mXmppFacade.getRoster();
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   412
		mRoster.addRosterListener(mBeemRosterListener);
514
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   413
		mContact = new Contact(getIntent().getData());
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   414
		changeCurrentChat(mContact);
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   415
	    } catch (RemoteException e) {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   416
		Log.e(TAG, e.getMessage());
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   417
	    }
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   418
	    Log.v(TAG, "END onServiceConnected.");
500
4da77df8f950 Intégration de l´activité Chat à la place de l´activité SendIM
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 493
diff changeset
   419
	}
501
d52918cfaba7 Corrections des problèmes de l´activité Chat.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 500
diff changeset
   420
500
4da77df8f950 Intégration de l´activité Chat à la place de l´activité SendIM
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 493
diff changeset
   421
	/**
4da77df8f950 Intégration de l´activité Chat à la place de l´activité SendIM
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 493
diff changeset
   422
	 * {@inheritDoc}.
4da77df8f950 Intégration de l´activité Chat à la place de l´activité SendIM
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 493
diff changeset
   423
	 */
4da77df8f950 Intégration de l´activité Chat à la place de l´activité SendIM
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 493
diff changeset
   424
	@Override
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   425
	public void onServiceDisconnected(ComponentName name) {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   426
	    Log.v(TAG, "BEGIN onServiceDisconnected.");
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   427
	    mXmppFacade = null;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   428
	    mBroadcastReceiver.setBinded(false);
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   429
	    try {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   430
		mRoster.removeRosterListener(mBeemRosterListener);
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   431
	    } catch (RemoteException e) {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   432
		Log.e(TAG, e.getMessage());
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   433
	    }
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   434
	    Log.v(TAG, "END onServiceDisconnected.");
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   435
	}
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   436
    }
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   437
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   438
    /**
514
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   439
     * {@inheritDoc}.
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   440
     */
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   441
    private class BeemRosterListener extends IBeemRosterListener.Stub {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   442
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   443
	/**
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   444
	 * {@inheritDoc}.
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   445
	 */
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   446
	@Override
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   447
	public void onEntriesAdded(List<String> addresses) throws RemoteException {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   448
	    Log.v(TAG, "BEGIN onEntriesAdded.");
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   449
	    Log.v(TAG, "END onEntriesAdded.");
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   450
	}
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   451
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   452
	/**
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   453
	 * {@inheritDoc}.
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   454
	 */
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   455
	@Override
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   456
	public void onEntriesDeleted(List<String> addresses) throws RemoteException {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   457
	    Log.v(TAG, "BEGIN onEntriesDeleted.");
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   458
	    Log.v(TAG, "END onEntriesDeleted.");
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   459
	}
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   460
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   461
	/**
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   462
	 * {@inheritDoc}.
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   463
	 */
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   464
	@Override
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   465
	public void onEntriesUpdated(List<String> addresses) throws RemoteException {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   466
	    Log.v(TAG, "BEGIN onEntriesUpdated.");
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   467
	    Log.v(TAG, "END onEntriesUpdated.");
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   468
	}
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   469
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   470
	/**
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   471
	 * {@inheritDoc}.
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   472
	 */
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   473
	@Override
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   474
	public void onEntryDeleteFromGroup(String group, String jid) throws RemoteException {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   475
	    Log.v(TAG, "BEGIN onEntryDeleteFromGroup.");
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   476
	    Log.v(TAG, "END onEntryDeleteFromGroup.");
493
56af5554a081 Save of the work on activity Chat.
dasilvj
parents: 480
diff changeset
   477
	}
501
d52918cfaba7 Corrections des problèmes de l´activité Chat.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 500
diff changeset
   478
500
4da77df8f950 Intégration de l´activité Chat à la place de l´activité SendIM
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 493
diff changeset
   479
	/**
4da77df8f950 Intégration de l´activité Chat à la place de l´activité SendIM
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 493
diff changeset
   480
	 * {@inheritDoc}.
4da77df8f950 Intégration de l´activité Chat à la place de l´activité SendIM
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 493
diff changeset
   481
	 */
493
56af5554a081 Save of the work on activity Chat.
dasilvj
parents: 480
diff changeset
   482
	@Override
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   483
	public void onPresenceChanged(final PresenceAdapter presence) throws RemoteException {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   484
	    Log.v(TAG, "BEGIN onPresenceChanged.");
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   485
	    if (mContact.getJID().equals(StringUtils.parseBareAddress(presence.getFrom()))) {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   486
		mHandler.post(new Runnable() {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   487
		    @Override
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   488
		    public void run() {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   489
			mContact.setStatus(presence.getStatus());
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   490
			mContact.setMsgState(presence.getStatusText());
500
4da77df8f950 Intégration de l´activité Chat à la place de l´activité SendIM
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 493
diff changeset
   491
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   492
			updateContactInformations();
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   493
			updateContactStatusIcon();
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   494
		    }
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   495
		});
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   496
	    }
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   497
	    Log.v(TAG, "END onPresenceChanged.");
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   498
	}
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   499
    }
501
d52918cfaba7 Corrections des problèmes de l´activité Chat.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 500
diff changeset
   500
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   501
    /**
514
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   502
     * {@inheritDoc}.
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   503
     */
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   504
    private class OnMessageListener extends IMessageListener.Stub {
502
3091acfe31f4 Ajout d´un status par default quelque soit l´activité.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 501
diff changeset
   505
501
d52918cfaba7 Corrections des problèmes de l´activité Chat.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 500
diff changeset
   506
	/**
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   507
	 * {@inheritDoc}.
501
d52918cfaba7 Corrections des problèmes de l´activité Chat.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 500
diff changeset
   508
	 */
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   509
	@Override
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   510
	public void processMessage(IChat chat, final Message msg) throws RemoteException {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   511
	    Log.v(TAG, "BEGIN processMessage.");
502
3091acfe31f4 Ajout d´un status par default quelque soit l´activité.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 501
diff changeset
   512
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   513
	    final String fromBareJid = StringUtils.parseBareAddress(msg.getFrom());
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   514
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   515
	    if (mContact.getJID().equals(fromBareJid)) {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   516
		mHandler.post(new Runnable() {
502
3091acfe31f4 Ajout d´un status par default quelque soit l´activité.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 501
diff changeset
   517
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   518
		    /**
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   519
		     * {@inheritDoc}.
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   520
		     */
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   521
		    @Override
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   522
		    public void run() {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   523
			if (msg.getBody() != null && msg.getType() != Message.MSG_TYPE_ERROR) {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   524
			    MessageText lastMessage = mListMessages.size() != 0 ? mListMessages.get(mListMessages
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   525
				.size() - 1) : null;
501
d52918cfaba7 Corrections des problèmes de l´activité Chat.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 500
diff changeset
   526
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   527
			    if (lastMessage != null && lastMessage.getBareJid().equals(fromBareJid)) {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   528
				lastMessage.setMessage(lastMessage.getMessage().concat("\n" + msg.getBody()));
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   529
				mListMessages.set(mListMessages.size() - 1, lastMessage);
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   530
			    } else
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   531
				mListMessages.add(new MessageText(fromBareJid, mContact.getName(), msg.getBody()));
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   532
			    mMessagesListAdapter.notifyDataSetChanged();
501
d52918cfaba7 Corrections des problèmes de l´activité Chat.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 500
diff changeset
   533
			}
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   534
		    }
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   535
		});
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   536
	    }
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   537
	    Log.v(TAG, "END processMessage.");
501
d52918cfaba7 Corrections des problèmes de l´activité Chat.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 500
diff changeset
   538
	}
d52918cfaba7 Corrections des problèmes de l´activité Chat.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 500
diff changeset
   539
d52918cfaba7 Corrections des problèmes de l´activité Chat.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 500
diff changeset
   540
	/**
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   541
	 * {@inheritDoc}.
500
4da77df8f950 Intégration de l´activité Chat à la place de l´activité SendIM
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 493
diff changeset
   542
	 */
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   543
	@Override
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   544
	public void stateChanged(IChat chat) throws RemoteException {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   545
	    Log.v(TAG, "BEGIN stateChanged.");
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   546
	    mHandler.post(new Runnable() {
500
4da77df8f950 Intégration de l´activité Chat à la place de l´activité SendIM
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 493
diff changeset
   547
4da77df8f950 Intégration de l´activité Chat à la place de l´activité SendIM
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 493
diff changeset
   548
		/**
4da77df8f950 Intégration de l´activité Chat à la place de l´activité SendIM
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 493
diff changeset
   549
		 * {@inheritDoc}.
4da77df8f950 Intégration de l´activité Chat à la place de l´activité SendIM
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 493
diff changeset
   550
		 */
4da77df8f950 Intégration de l´activité Chat à la place de l´activité SendIM
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 493
diff changeset
   551
		@Override
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   552
		public void run() {
500
4da77df8f950 Intégration de l´activité Chat à la place de l´activité SendIM
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 493
diff changeset
   553
		}
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   554
	    });
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   555
	    Log.v(TAG, "END stateChanged.");
500
4da77df8f950 Intégration de l´activité Chat à la place de l´activité SendIM
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 493
diff changeset
   556
	}
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   557
    }
500
4da77df8f950 Intégration de l´activité Chat à la place de l´activité SendIM
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 493
diff changeset
   558
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   559
    /**
514
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   560
     * This class serve to listen on ChatManager events.
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   561
     * @author Jean-Manuel Da Silva <dasilvj at beem-project dot com>
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   562
     */
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   563
    private class OnChatManagerListener extends IChatManagerListener.Stub {
500
4da77df8f950 Intégration de l´activité Chat à la place de l´activité SendIM
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 493
diff changeset
   564
	/**
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   565
	 * Constructor.
500
4da77df8f950 Intégration de l´activité Chat à la place de l´activité SendIM
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 493
diff changeset
   566
	 */
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   567
	public OnChatManagerListener() {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   568
	    Log.v(TAG, "OnChatManagerListener constructor.");
500
4da77df8f950 Intégration de l´activité Chat à la place de l´activité SendIM
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 493
diff changeset
   569
	}
493
56af5554a081 Save of the work on activity Chat.
dasilvj
parents: 480
diff changeset
   570
500
4da77df8f950 Intégration de l´activité Chat à la place de l´activité SendIM
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 493
diff changeset
   571
	/**
4da77df8f950 Intégration de l´activité Chat à la place de l´activité SendIM
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 493
diff changeset
   572
	 * {@inheritDoc}.
4da77df8f950 Intégration de l´activité Chat à la place de l´activité SendIM
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 493
diff changeset
   573
	 */
4da77df8f950 Intégration de l´activité Chat à la place de l´activité SendIM
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 493
diff changeset
   574
	@Override
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   575
	public void chatCreated(IChat chat, boolean locally) throws RemoteException {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   576
	    Log.i(TAG, "Chat has been created.");
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   577
	}
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   578
    }
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   579
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   580
    /**
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   581
     * Update the contact informations.
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   582
     */
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   583
    private void updateContactInformations() {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   584
	Log.v(TAG, "BEGIN updateContactInformations.");
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   585
	// Check for a contact name update
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   586
	if (!(mContactNameTextView.getText().toString().equals(mContact.getName())))
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   587
	    mContactNameTextView.setText(mContact.getName());
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   588
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   589
	// Check for a contact status message update
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   590
	if (!(mContactStatusMsgTextView.getText().toString().equals(mContact.getMsgState()))) {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   591
	    Log.d(TAG, "Setting status message - " + mContact.getMsgState());
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   592
	    mContactStatusMsgTextView.setText(mContact.getMsgState());
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   593
	    Linkify.addLinks(mContactStatusMsgTextView, Linkify.WEB_URLS);
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   594
	}
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   595
	Log.v(TAG, "END updateContactInformations.");
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   596
    }
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   597
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   598
    /**
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   599
     * Update the contact status icon.
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   600
     */
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   601
    private void updateContactStatusIcon() {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   602
	Log.v(TAG, "BEGIN updateContactStatusIcon.");
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   603
	mContactStatusIcon.setImageBitmap(mStatusIconsMap.get(mContact.getStatus()));
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   604
	Log.v(TAG, "END updateContactStatusIcon.");
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   605
    }
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   606
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   607
    /**
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   608
     * Prepare the status icons map.
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   609
     */
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   610
    private void prepareIconsStatus() {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   611
	mStatusIconsMap.put(Status.CONTACT_STATUS_AVAILABLE, BitmapFactory.decodeResource(getResources(),
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   612
	    R.drawable.status_available));
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   613
	mStatusIconsMap.put(Status.CONTACT_STATUS_AVAILABLE_FOR_CHAT, BitmapFactory.decodeResource(getResources(),
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   614
	    R.drawable.status_available));
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   615
	mStatusIconsMap.put(Status.CONTACT_STATUS_AWAY, BitmapFactory.decodeResource(getResources(),
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   616
	    R.drawable.status_away));
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   617
	mStatusIconsMap.put(Status.CONTACT_STATUS_BUSY, BitmapFactory.decodeResource(getResources(),
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   618
	    R.drawable.status_dnd));
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   619
	mStatusIconsMap.put(Status.CONTACT_STATUS_DISCONNECT, BitmapFactory.decodeResource(getResources(),
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   620
	    R.drawable.status_offline));
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   621
	mStatusIconsMap.put(Status.CONTACT_STATUS_UNAVAILABLE, BitmapFactory.decodeResource(getResources(),
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   622
	    R.drawable.status_requested));
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   623
    }
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   624
514
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   625
    /**
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   626
     * {@inheritDoc}.
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   627
     */
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   628
    private class MessagesListAdapter extends BaseAdapter {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   629
514
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   630
	private final Context mContext;
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   631
514
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   632
	/**
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   633
	 * Constructor.
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   634
	 * @param context The MessagesListAdapter context.
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   635
	 */
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   636
	public MessagesListAdapter(final Context context) {
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   637
	    mContext = context;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   638
	}
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   639
514
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   640
	/**
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   641
	 * Returns the number of messages contained in the messages list.
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   642
	 * @return The number of messages contained in the messages list.
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   643
	 */
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   644
	public int getCount() {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   645
	    return mListMessages.size();
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   646
	}
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   647
514
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   648
	/**
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   649
	 * Return an item from the messages list that is positioned at the position passed by parameter.
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   650
	 * @param position The position of the requested item.
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   651
	 * @return The item from the messages list at the requested position.
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   652
	 */
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   653
	public Object getItem(int position) {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   654
	    return position;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   655
	}
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   656
514
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   657
	/**
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   658
	 * Return the id of an item from the messages list that is positioned at the position passed by parameter.
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   659
	 * @param position The position of the requested item.
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   660
	 * @return The id of an item from the messages list at the requested position.
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   661
	 */
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   662
	public long getItemId(int position) {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   663
	    return position;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   664
	}
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   665
514
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   666
	/**
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   667
	 * Return the view of an item from the messages list.
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   668
	 * @param position The position of the requested item.
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   669
	 * @param convertView The old view to reuse if possible.
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   670
	 * @param parent The parent that this view will eventually be attached to.
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   671
	 * @return A View corresponding to the data at the specified position.
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   672
	 */
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   673
	public View getView(int position, View convertView, ViewGroup parent) {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   674
	    MessageView sv;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   675
	    if (convertView == null) {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   676
		sv = new MessageView(mContext, mListMessages.get(position).getName(), mListMessages.get(position)
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   677
		    .getMessage());
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   678
	    } else {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   679
		sv = (MessageView) convertView;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   680
		sv.setName(mListMessages.get(position).getName());
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   681
		sv.setMessage(mListMessages.get(position).getMessage());
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   682
	    }
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   683
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   684
	    sv.setPadding(2, 2, 2, 4);
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   685
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   686
	    sv.mName.setTextSize(16);
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   687
	    sv.mName.setTextColor(Color.WHITE);
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   688
	    sv.mName.setTypeface(Typeface.DEFAULT_BOLD);
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   689
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   690
	    sv.mMessage.setLinkTextColor(Color.WHITE);
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   691
	    sv.mMessage.setPadding(0, 4, 0, 4);
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   692
	    Linkify.addLinks(sv.mMessage, Linkify.WEB_URLS);
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   693
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   694
	    return sv;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   695
	}
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   696
    }
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   697
514
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   698
    /**
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   699
     * Class which simplify an Xmpp text message.
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   700
     * @author Jean-Manuel Da Silva <dasilvj at beem-project dot com>
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   701
     */
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   702
    private class MessageText {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   703
	private String mBareJid;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   704
	private String mName;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   705
	private String mMessage;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   706
514
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   707
	/**
518
6b8089c9b834 Creation de l'activite PrivacyList et d'une interface PrivacyListListener ainsi que son implementation.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 517
diff changeset
   708
	 * Constructor.
514
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   709
	 * @param bareJid A String containing the bare JID of the message's author.
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   710
	 * @param name A String containing the name of the message's author.
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   711
	 * @param message A String containing the message.
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   712
	 */
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   713
	public MessageText(final String bareJid, final String name, final String message) {
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   714
	    mBareJid = bareJid;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   715
	    mName = name;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   716
	    mMessage = message;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   717
	}
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   718
514
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   719
	/**
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   720
	 * JID attribute accessor.
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   721
	 * @return A String containing the bare JID of the message's author.
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   722
	 */
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   723
	public String getBareJid() {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   724
	    return mBareJid;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   725
	}
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   726
514
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   727
	/**
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   728
	 * Name attribute accessor.
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   729
	 * @return A String containing the name of the message's author.
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   730
	 */
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   731
	public String getName() {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   732
	    return mName;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   733
	}
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   734
514
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   735
	/**
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   736
	 * Message attribute accessor.
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   737
	 * @return A String containing the message.
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   738
	 */
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   739
	public String getMessage() {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   740
	    return mMessage;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   741
	}
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   742
514
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   743
	/**
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   744
	 * JID attribute mutator.
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   745
	 * @param bareJid A String containing the author's bare JID of the message.
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   746
	 */
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   747
	@SuppressWarnings("unused")
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   748
	public void setBareJid(String bareJid) {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   749
	    mBareJid = bareJid;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   750
	}
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   751
514
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   752
	/**
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   753
	 * Name attribute mutator.
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   754
	 * @param name A String containing the author's name of the message.
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   755
	 */
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   756
	@SuppressWarnings("unused")
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   757
	public void setName(String name) {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   758
	    mName = name;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   759
	}
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   760
514
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   761
	/**
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   762
	 * Message attribute mutator.
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   763
	 * @param message A String containing a message.
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   764
	 */
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   765
	public void setMessage(String message) {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   766
	    mMessage = message;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   767
	}
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   768
    }
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   769
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   770
    /**
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   771
     * We will use a MessageView to display each message.
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   772
     */
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   773
    private class MessageView extends LinearLayout {
514
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   774
	private final TextView mName;
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   775
	private final TextView mMessage;
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   776
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   777
	/**
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   778
	 * Constructor.
514
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   779
	 * @param context The context of the MessageView
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   780
	 * @param name A String containing the message's author.
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   781
	 * @param message A String containing the message.
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   782
	 */
514
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   783
	public MessageView(final Context context, final String name, final String message) {
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   784
	    super(context);
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   785
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   786
	    this.setOrientation(VERTICAL);
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   787
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   788
	    mName = new TextView(context);
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   789
	    mName.setText(name);
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   790
	    addView(mName, new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   791
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   792
	    mMessage = new TextView(context);
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   793
	    mMessage.setText(message);
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   794
	    addView(mMessage, new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));
500
4da77df8f950 Intégration de l´activité Chat à la place de l´activité SendIM
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 493
diff changeset
   795
	}
4da77df8f950 Intégration de l´activité Chat à la place de l´activité SendIM
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 493
diff changeset
   796
4da77df8f950 Intégration de l´activité Chat à la place de l´activité SendIM
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 493
diff changeset
   797
	/**
514
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   798
	 * Convenience method to set the title of a MessageView.
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   799
	 * @param name A String containing the message's author.
500
4da77df8f950 Intégration de l´activité Chat à la place de l´activité SendIM
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 493
diff changeset
   800
	 */
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   801
	public void setName(String name) {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   802
	    mName.setText(name);
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   803
	}
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   804
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   805
	/**
514
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   806
	 * Convenience method to set the dialogue of a MessageView.
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   807
	 * @param message A String containing the message.
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   808
	 */
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   809
	public void setMessage(String message) {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   810
	    mMessage.setText(message);
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   811
	}
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   812
    }
493
56af5554a081 Save of the work on activity Chat.
dasilvj
parents: 480
diff changeset
   813
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   814
    /**
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   815
     * {@inheritDoc}.
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   816
     */
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   817
    @Override
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   818
    public boolean onKey(View v, int keyCode, KeyEvent event) {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   819
	Log.d(TAG, "KeyEvent = " + event.getAction());
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   820
	if (event.getAction() == KeyEvent.ACTION_DOWN) {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   821
	    switch (keyCode) {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   822
		case KeyEvent.KEYCODE_ENTER:
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   823
		    sendMessage();
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   824
		    return true;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   825
		default:
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   826
		    return false;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   827
	    }
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   828
	}
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   829
	return false;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   830
    }
500
4da77df8f950 Intégration de l´activité Chat à la place de l´activité SendIM
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 493
diff changeset
   831
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   832
    /**
514
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   833
     * Send an XMPP message.
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   834
     */
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   835
    private void sendMessage() {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   836
	final String inputContent = mInputField.getText().toString();
500
4da77df8f950 Intégration de l´activité Chat à la place de l´activité SendIM
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 493
diff changeset
   837
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   838
	Log.v(TAG, "BEGIN sendMessage.");
514
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 512
diff changeset
   839
	if (!"".equals(inputContent)) {
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   840
	    Message msgToSend = new Message(mContact.getJID(), Message.MSG_TYPE_CHAT);
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   841
	    msgToSend.setBody(inputContent);
493
56af5554a081 Save of the work on activity Chat.
dasilvj
parents: 480
diff changeset
   842
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   843
	    try {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   844
		mChat.sendMessage(msgToSend);
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   845
	    } catch (RemoteException e) {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   846
		Log.e(TAG, e.getMessage());
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   847
	    }
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   848
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   849
	    final String self = getString(R.string.chat_self);
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   850
	    MessageText lastMessage = mListMessages.size() != 0 ? mListMessages.get(mListMessages.size() - 1) : null;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   851
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   852
	    if (lastMessage != null && lastMessage.getName().equals(self)) {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   853
		lastMessage.setMessage(lastMessage.getMessage().concat("\n" + inputContent));
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   854
		mListMessages.set(mListMessages.size() - 1, lastMessage);
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   855
	    } else
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   856
		mListMessages.add(new MessageText(self, self, inputContent));
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   857
	    mMessagesListAdapter.notifyDataSetChanged();
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   858
	    mInputField.setText(null);
500
4da77df8f950 Intégration de l´activité Chat à la place de l´activité SendIM
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 493
diff changeset
   859
	}
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   860
	Log.v(TAG, "END sendMessage.");
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   861
    }
480
eb6f1fbea903 Premier jet de l'activite chat, devant remplacer par la suite SendIM.
dasilvj
parents:
diff changeset
   862
}