src/com/beem/project/beem/ui/SendIM.java
author marseille@marseille-desktop
Tue, 02 Jun 2009 17:49:09 +0200
changeset 233 3e59c9dd8929
parent 224 d8e2cb1eb895
child 236 23647e075321
permissions -rw-r--r--
correction bug notification, pas de ticket ouvert + quelques strings pour les titres d'activite
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
25
1e044613960c Activite envoi de messages
Philippe Lago <lago_p@epitech.net>
parents:
diff changeset
     1
package com.beem.project.beem.ui;
1e044613960c Activite envoi de messages
Philippe Lago <lago_p@epitech.net>
parents:
diff changeset
     2
219
79ccbe331695 Les conversations sont retenues dans les chats du service.
Da Risk <darisk972@gmail.com>
parents: 188
diff changeset
     3
import java.util.List;
79ccbe331695 Les conversations sont retenues dans les chats du service.
Da Risk <darisk972@gmail.com>
parents: 188
diff changeset
     4
103
2320ab48e829 Bug d'affichage fixé et autre feature implementées
Philippe Lago <lago_p@epitech.net>
parents: 102
diff changeset
     5
import android.app.Activity;
219
79ccbe331695 Les conversations sont retenues dans les chats du service.
Da Risk <darisk972@gmail.com>
parents: 188
diff changeset
     6
import android.content.Intent;
43
4e7c6918b092 classe dialog pour integrer des smiley dans un message a terminer, un fichier color a nourrir et utiliser des modif un peu partout
Philippe Lago <lago_p@epitech.net>
parents: 27
diff changeset
     7
import android.content.SharedPreferences;
101
ccc48305bdeb toujours le probleme du rafraichissement lors de la reception d'un message
Philippe Lago <lago_p@epitech.net>
parents: 84
diff changeset
     8
import android.graphics.drawable.Drawable;
25
1e044613960c Activite envoi de messages
Philippe Lago <lago_p@epitech.net>
parents:
diff changeset
     9
import android.os.Bundle;
84
9a4dbd7fe546 Super mercurial le retour du commit oublié apres le merge du pull -f -r19
Philippe Lago <lago_p@epitech.net>
parents: 62
diff changeset
    10
import android.os.Handler;
9a4dbd7fe546 Super mercurial le retour du commit oublié apres le merge du pull -f -r19
Philippe Lago <lago_p@epitech.net>
parents: 62
diff changeset
    11
import android.os.RemoteException;
52
375194dc3bca Gros menage dans les views.
marseille@KungFuh
parents: 43
diff changeset
    12
import android.util.Log;
43
4e7c6918b092 classe dialog pour integrer des smiley dans un message a terminer, un fichier color a nourrir et utiliser des modif un peu partout
Philippe Lago <lago_p@epitech.net>
parents: 27
diff changeset
    13
import android.view.KeyEvent;
4e7c6918b092 classe dialog pour integrer des smiley dans un message a terminer, un fichier color a nourrir et utiliser des modif un peu partout
Philippe Lago <lago_p@epitech.net>
parents: 27
diff changeset
    14
import android.view.Menu;
4e7c6918b092 classe dialog pour integrer des smiley dans un message a terminer, un fichier color a nourrir et utiliser des modif un peu partout
Philippe Lago <lago_p@epitech.net>
parents: 27
diff changeset
    15
import android.view.MenuInflater;
4e7c6918b092 classe dialog pour integrer des smiley dans un message a terminer, un fichier color a nourrir et utiliser des modif un peu partout
Philippe Lago <lago_p@epitech.net>
parents: 27
diff changeset
    16
import android.view.MenuItem;
25
1e044613960c Activite envoi de messages
Philippe Lago <lago_p@epitech.net>
parents:
diff changeset
    17
import android.view.View;
43
4e7c6918b092 classe dialog pour integrer des smiley dans un message a terminer, un fichier color a nourrir et utiliser des modif un peu partout
Philippe Lago <lago_p@epitech.net>
parents: 27
diff changeset
    18
import android.view.View.OnClickListener;
4e7c6918b092 classe dialog pour integrer des smiley dans un message a terminer, un fichier color a nourrir et utiliser des modif un peu partout
Philippe Lago <lago_p@epitech.net>
parents: 27
diff changeset
    19
import android.view.View.OnKeyListener;
25
1e044613960c Activite envoi de messages
Philippe Lago <lago_p@epitech.net>
parents:
diff changeset
    20
import android.widget.EditText;
143
6f6f5838aef9 skin skin skin joli pas beau
Philippe Lago <lago_p@epitech.net>
parents: 141
diff changeset
    21
import android.widget.ImageView;
103
2320ab48e829 Bug d'affichage fixé et autre feature implementées
Philippe Lago <lago_p@epitech.net>
parents: 102
diff changeset
    22
import android.widget.ScrollView;
101
ccc48305bdeb toujours le probleme du rafraichissement lors de la reception d'un message
Philippe Lago <lago_p@epitech.net>
parents: 84
diff changeset
    23
import android.widget.TextView;
25
1e044613960c Activite envoi de messages
Philippe Lago <lago_p@epitech.net>
parents:
diff changeset
    24
84
9a4dbd7fe546 Super mercurial le retour du commit oublié apres le merge du pull -f -r19
Philippe Lago <lago_p@epitech.net>
parents: 62
diff changeset
    25
import com.beem.project.beem.BeemApplication;
25
1e044613960c Activite envoi de messages
Philippe Lago <lago_p@epitech.net>
parents:
diff changeset
    26
import com.beem.project.beem.R;
52
375194dc3bca Gros menage dans les views.
marseille@KungFuh
parents: 43
diff changeset
    27
import com.beem.project.beem.service.Contact;
84
9a4dbd7fe546 Super mercurial le retour du commit oublié apres le merge du pull -f -r19
Philippe Lago <lago_p@epitech.net>
parents: 62
diff changeset
    28
import com.beem.project.beem.service.Message;
9a4dbd7fe546 Super mercurial le retour du commit oublié apres le merge du pull -f -r19
Philippe Lago <lago_p@epitech.net>
parents: 62
diff changeset
    29
import com.beem.project.beem.service.aidl.IChat;
9a4dbd7fe546 Super mercurial le retour du commit oublié apres le merge du pull -f -r19
Philippe Lago <lago_p@epitech.net>
parents: 62
diff changeset
    30
import com.beem.project.beem.service.aidl.IChatManager;
9a4dbd7fe546 Super mercurial le retour du commit oublié apres le merge du pull -f -r19
Philippe Lago <lago_p@epitech.net>
parents: 62
diff changeset
    31
import com.beem.project.beem.service.aidl.IChatManagerListener;
9a4dbd7fe546 Super mercurial le retour du commit oublié apres le merge du pull -f -r19
Philippe Lago <lago_p@epitech.net>
parents: 62
diff changeset
    32
import com.beem.project.beem.service.aidl.IMessageListener;
9a4dbd7fe546 Super mercurial le retour du commit oublié apres le merge du pull -f -r19
Philippe Lago <lago_p@epitech.net>
parents: 62
diff changeset
    33
import com.beem.project.beem.service.aidl.IXmppFacade;
25
1e044613960c Activite envoi de messages
Philippe Lago <lago_p@epitech.net>
parents:
diff changeset
    34
43
4e7c6918b092 classe dialog pour integrer des smiley dans un message a terminer, un fichier color a nourrir et utiliser des modif un peu partout
Philippe Lago <lago_p@epitech.net>
parents: 27
diff changeset
    35
/**
127
395f1beb409f deconnexion et fin du service presque ok
Da Risk <darisk972@gmail.com>
parents: 126
diff changeset
    36
 * This activity class provides the view for instant messaging after selecting a correspondant.
212
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
    37
 * 
127
395f1beb409f deconnexion et fin du service presque ok
Da Risk <darisk972@gmail.com>
parents: 126
diff changeset
    38
 * @author barbu
43
4e7c6918b092 classe dialog pour integrer des smiley dans un message a terminer, un fichier color a nourrir et utiliser des modif un peu partout
Philippe Lago <lago_p@epitech.net>
parents: 27
diff changeset
    39
 */
4e7c6918b092 classe dialog pour integrer des smiley dans un message a terminer, un fichier color a nourrir et utiliser des modif un peu partout
Philippe Lago <lago_p@epitech.net>
parents: 27
diff changeset
    40
117
40a48262a670 Un petit skin pour l'im à travailler
Philippe Lago <lago_p@epitech.net>
parents: 110
diff changeset
    41
public class SendIM extends Activity implements OnClickListener, OnKeyListener {
219
79ccbe331695 Les conversations sont retenues dans les chats du service.
Da Risk <darisk972@gmail.com>
parents: 188
diff changeset
    42
223
bb656974bab1 Some javadocs
Da Risk <darisk972@gmail.com>
parents: 222
diff changeset
    43
    /**
bb656974bab1 Some javadocs
Da Risk <darisk972@gmail.com>
parents: 222
diff changeset
    44
     * Listener for chat creation. (maybe not necessary)
224
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
    45
     * 
223
bb656974bab1 Some javadocs
Da Risk <darisk972@gmail.com>
parents: 222
diff changeset
    46
     * @author darisk
bb656974bab1 Some javadocs
Da Risk <darisk972@gmail.com>
parents: 222
diff changeset
    47
     */
84
9a4dbd7fe546 Super mercurial le retour du commit oublié apres le merge du pull -f -r19
Philippe Lago <lago_p@epitech.net>
parents: 62
diff changeset
    48
    private class OnChatListener extends IChatManagerListener.Stub {
9a4dbd7fe546 Super mercurial le retour du commit oublié apres le merge du pull -f -r19
Philippe Lago <lago_p@epitech.net>
parents: 62
diff changeset
    49
223
bb656974bab1 Some javadocs
Da Risk <darisk972@gmail.com>
parents: 222
diff changeset
    50
	/**
bb656974bab1 Some javadocs
Da Risk <darisk972@gmail.com>
parents: 222
diff changeset
    51
	 * {@inheritDoc}
bb656974bab1 Some javadocs
Da Risk <darisk972@gmail.com>
parents: 222
diff changeset
    52
	 */
84
9a4dbd7fe546 Super mercurial le retour du commit oublié apres le merge du pull -f -r19
Philippe Lago <lago_p@epitech.net>
parents: 62
diff changeset
    53
	@Override
127
395f1beb409f deconnexion et fin du service presque ok
Da Risk <darisk972@gmail.com>
parents: 126
diff changeset
    54
	public void chatCreated(IChat chat, boolean locally) throws RemoteException {
84
9a4dbd7fe546 Super mercurial le retour du commit oublié apres le merge du pull -f -r19
Philippe Lago <lago_p@epitech.net>
parents: 62
diff changeset
    55
	    Log.i("LOG", "chatCreated");
9a4dbd7fe546 Super mercurial le retour du commit oublié apres le merge du pull -f -r19
Philippe Lago <lago_p@epitech.net>
parents: 62
diff changeset
    56
	}
102
e3e8bf449590 le header de conversation pas beau avec l'avatar le login et le status du correspondant, toujours pas trouvé le pb de rafraichissement des messages. Si qq'un a une idée...
Philippe Lago <lago_p@epitech.net>
parents: 101
diff changeset
    57
84
9a4dbd7fe546 Super mercurial le retour du commit oublié apres le merge du pull -f -r19
Philippe Lago <lago_p@epitech.net>
parents: 62
diff changeset
    58
    }
102
e3e8bf449590 le header de conversation pas beau avec l'avatar le login et le status du correspondant, toujours pas trouvé le pb de rafraichissement des messages. Si qq'un a une idée...
Philippe Lago <lago_p@epitech.net>
parents: 101
diff changeset
    59
223
bb656974bab1 Some javadocs
Da Risk <darisk972@gmail.com>
parents: 222
diff changeset
    60
    /**
bb656974bab1 Some javadocs
Da Risk <darisk972@gmail.com>
parents: 222
diff changeset
    61
     * Listener for new chat messages.
224
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
    62
     * 
223
bb656974bab1 Some javadocs
Da Risk <darisk972@gmail.com>
parents: 222
diff changeset
    63
     * @author darisk
bb656974bab1 Some javadocs
Da Risk <darisk972@gmail.com>
parents: 222
diff changeset
    64
     */
84
9a4dbd7fe546 Super mercurial le retour du commit oublié apres le merge du pull -f -r19
Philippe Lago <lago_p@epitech.net>
parents: 62
diff changeset
    65
    private class OnMessageListener extends IMessageListener.Stub {
9a4dbd7fe546 Super mercurial le retour du commit oublié apres le merge du pull -f -r19
Philippe Lago <lago_p@epitech.net>
parents: 62
diff changeset
    66
223
bb656974bab1 Some javadocs
Da Risk <darisk972@gmail.com>
parents: 222
diff changeset
    67
	/**
bb656974bab1 Some javadocs
Da Risk <darisk972@gmail.com>
parents: 222
diff changeset
    68
	 * {@inheritDoc}
bb656974bab1 Some javadocs
Da Risk <darisk972@gmail.com>
parents: 222
diff changeset
    69
	 */
84
9a4dbd7fe546 Super mercurial le retour du commit oublié apres le merge du pull -f -r19
Philippe Lago <lago_p@epitech.net>
parents: 62
diff changeset
    70
	@Override
127
395f1beb409f deconnexion et fin du service presque ok
Da Risk <darisk972@gmail.com>
parents: 126
diff changeset
    71
	public void processMessage(IChat chat, Message msg) throws RemoteException {
141
70ceaba725d4 merge with barbie
Da Risk <darisk972@gmail.com>
parents: 133 117
diff changeset
    72
127
395f1beb409f deconnexion et fin du service presque ok
Da Risk <darisk972@gmail.com>
parents: 126
diff changeset
    73
	    if (chat != mChat)
119
c93e4b69f031 Correction de bug sur la reception de messages
Da Risk <darisk972@gmail.com>
parents: 118
diff changeset
    74
		return;
103
2320ab48e829 Bug d'affichage fixé et autre feature implementées
Philippe Lago <lago_p@epitech.net>
parents: 102
diff changeset
    75
	    final Message m = msg;
2320ab48e829 Bug d'affichage fixé et autre feature implementées
Philippe Lago <lago_p@epitech.net>
parents: 102
diff changeset
    76
	    mHandler.post(new Runnable() {
117
40a48262a670 Un petit skin pour l'im à travailler
Philippe Lago <lago_p@epitech.net>
parents: 110
diff changeset
    77
40a48262a670 Un petit skin pour l'im à travailler
Philippe Lago <lago_p@epitech.net>
parents: 110
diff changeset
    78
		@Override
40a48262a670 Un petit skin pour l'im à travailler
Philippe Lago <lago_p@epitech.net>
parents: 110
diff changeset
    79
		public void run() {
40a48262a670 Un petit skin pour l'im à travailler
Philippe Lago <lago_p@epitech.net>
parents: 110
diff changeset
    80
		    if (m.getBody() != null) {
219
79ccbe331695 Les conversations sont retenues dans les chats du service.
Da Risk <darisk972@gmail.com>
parents: 188
diff changeset
    81
			if (mSpeak == 2)
117
40a48262a670 Un petit skin pour l'im à travailler
Philippe Lago <lago_p@epitech.net>
parents: 110
diff changeset
    82
			    mText.append(m.getBody() + "\n");
219
79ccbe331695 Les conversations sont retenues dans les chats du service.
Da Risk <darisk972@gmail.com>
parents: 188
diff changeset
    83
			else {
79ccbe331695 Les conversations sont retenues dans les chats du service.
Da Risk <darisk972@gmail.com>
parents: 188
diff changeset
    84
			    String str = String.format(getString(R.string.SendIMSays), m.getFrom());
79ccbe331695 Les conversations sont retenues dans les chats du service.
Da Risk <darisk972@gmail.com>
parents: 188
diff changeset
    85
			    mText.append(str);
79ccbe331695 Les conversations sont retenues dans les chats du service.
Da Risk <darisk972@gmail.com>
parents: 188
diff changeset
    86
			    mText.append(m.getBody() + "\n");
79ccbe331695 Les conversations sont retenues dans les chats du service.
Da Risk <darisk972@gmail.com>
parents: 188
diff changeset
    87
			}
117
40a48262a670 Un petit skin pour l'im à travailler
Philippe Lago <lago_p@epitech.net>
parents: 110
diff changeset
    88
			mScrolling.fullScroll(ScrollView.FOCUS_DOWN);
40a48262a670 Un petit skin pour l'im à travailler
Philippe Lago <lago_p@epitech.net>
parents: 110
diff changeset
    89
			mToSend.requestFocus();
219
79ccbe331695 Les conversations sont retenues dans les chats du service.
Da Risk <darisk972@gmail.com>
parents: 188
diff changeset
    90
			mSpeak = 2;
117
40a48262a670 Un petit skin pour l'im à travailler
Philippe Lago <lago_p@epitech.net>
parents: 110
diff changeset
    91
		    }
40a48262a670 Un petit skin pour l'im à travailler
Philippe Lago <lago_p@epitech.net>
parents: 110
diff changeset
    92
		}
103
2320ab48e829 Bug d'affichage fixé et autre feature implementées
Philippe Lago <lago_p@epitech.net>
parents: 102
diff changeset
    93
	    });
84
9a4dbd7fe546 Super mercurial le retour du commit oublié apres le merge du pull -f -r19
Philippe Lago <lago_p@epitech.net>
parents: 62
diff changeset
    94
	}
188
00aee9a42555 IssueID #82
nikita@nikita-portable
parents: 187
diff changeset
    95
223
bb656974bab1 Some javadocs
Da Risk <darisk972@gmail.com>
parents: 222
diff changeset
    96
	/**
bb656974bab1 Some javadocs
Da Risk <darisk972@gmail.com>
parents: 222
diff changeset
    97
	 * {@inheritDoc}
bb656974bab1 Some javadocs
Da Risk <darisk972@gmail.com>
parents: 222
diff changeset
    98
	 */
188
00aee9a42555 IssueID #82
nikita@nikita-portable
parents: 187
diff changeset
    99
	@Override
00aee9a42555 IssueID #82
nikita@nikita-portable
parents: 187
diff changeset
   100
	public void stateChanged(IChat chat) throws RemoteException {
219
79ccbe331695 Les conversations sont retenues dans les chats du service.
Da Risk <darisk972@gmail.com>
parents: 188
diff changeset
   101
	    // TODO: a integrer dans l'ui
79ccbe331695 Les conversations sont retenues dans les chats du service.
Da Risk <darisk972@gmail.com>
parents: 188
diff changeset
   102
	    // Log.d(TAG, "state changed");
188
00aee9a42555 IssueID #82
nikita@nikita-portable
parents: 187
diff changeset
   103
	}
84
9a4dbd7fe546 Super mercurial le retour du commit oublié apres le merge du pull -f -r19
Philippe Lago <lago_p@epitech.net>
parents: 62
diff changeset
   104
    }
212
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   105
224
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   106
    private static final String  TAG = "SEND_IM";
212
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   107
    private EditText             mToSend;
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   108
    private SendIMDialogSmiley   mSmyDialog;
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   109
    private SharedPreferences    mSet;
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   110
    private BeemApplication      mBeemApplication;
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   111
    private Handler              mHandler;
224
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   112
    private IXmppFacade          mService;
212
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   113
    private Contact              mContact;
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   114
    private IChatManager         mChatManager;
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   115
    private IChatManagerListener mChatManagerListener;
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   116
    private IMessageListener     mMessageListener;
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   117
    private IChat                mChat;
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   118
    private TextView             mText;
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   119
    private TextView             mLogin;
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   120
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   121
    private ScrollView           mScrolling;
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   122
224
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   123
    private char                 mSpeak;
212
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   124
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   125
    /**
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   126
     * Constructor.
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   127
     */
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   128
    public SendIM() {
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   129
	super();
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   130
    }
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   131
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   132
    /**
224
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   133
     * {@inheritDoc}
212
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   134
     */
224
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   135
    @Override
212
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   136
    public void onClick(View view) {
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   137
	sendText();
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   138
    }
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   139
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   140
    /**
224
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   141
     * {@inheritDoc}
212
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   142
     */
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   143
    @Override
224
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   144
    protected void onCreate(Bundle saveBundle) {
212
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   145
	super.onCreate(saveBundle);
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   146
	mHandler = new Handler();
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   147
	mChatManagerListener = new OnChatListener();
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   148
	mMessageListener = new OnMessageListener();
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   149
	mBeemApplication = BeemApplication.getApplication(this);
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   150
	setContentView(R.layout.sendim);
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   151
	mToSend = (EditText) findViewById(R.id.userText);
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   152
	mSet = getSharedPreferences("lol", MODE_PRIVATE);
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   153
	mSmyDialog = new SendIMDialogSmiley(this, mSet);
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   154
	mToSend.setOnClickListener(this);
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   155
	mToSend.setOnKeyListener(this);
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   156
	mLogin = (TextView) findViewById(R.id.sendimlogin);
224
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   157
	// mContact = getIntent().getParcelableExtra("contact");
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   158
	mContact = new Contact(getIntent().getData());
212
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   159
	setViewHeader();
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   160
	mText = (TextView) findViewById(R.id.sendimlist);
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   161
	mScrolling = (ScrollView) findViewById(R.id.sendimscroll);
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   162
    }
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   163
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   164
    /**
224
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   165
     * {@inheritDoc}
212
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   166
     */
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   167
    @Override
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   168
    public final boolean onCreateOptionsMenu(Menu menu) {
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   169
	super.onCreateOptionsMenu(menu);
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   170
	MenuInflater inflater = getMenuInflater();
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   171
	inflater.inflate(R.menu.sendimmenu, menu);
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   172
	return true;
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   173
    }
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   174
224
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   175
    /**
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   176
     * {@inheritDoc}
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   177
     */
212
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   178
    @Override
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   179
    protected void onDestroy() {
224
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   180
	super.onDestroy();
212
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   181
	if (mChatManager != null) {
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   182
	    try {
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   183
		mChatManager.removeChatCreationListener(mChatManagerListener);
224
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   184
		// TODO trouver quand detruire le chat
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   185
		// mChatManager.destroyChat(mChat);
212
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   186
	    } catch (RemoteException e) {
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   187
		Log.e(TAG, "mchat manager and SendIM destroy", e);
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   188
	    }
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   189
	}
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   190
    }
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   191
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   192
    /**
224
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   193
     * {@inheritDoc}
212
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   194
     */
224
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   195
    @Override
212
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   196
    public boolean onKey(View v, int keyCode, KeyEvent event) {
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   197
	if (event.getAction() == KeyEvent.ACTION_DOWN) {
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   198
	    switch (keyCode) {
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   199
	    case KeyEvent.KEYCODE_DPAD_CENTER:
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   200
	    case KeyEvent.KEYCODE_ENTER:
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   201
		sendText();
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   202
		return true;
224
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   203
	    default:
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   204
		return false;
212
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   205
	    }
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   206
	}
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   207
	return false;
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   208
    }
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   209
224
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   210
    /**
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   211
     * {@inheritDoc}
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   212
     */
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   213
    @Override
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   214
    protected void onNewIntent(Intent intent) {
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   215
	super.onNewIntent(intent);
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   216
	mContact = new Contact(intent.getData());
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   217
	setViewHeader();
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   218
    }
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   219
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   220
    /**
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   221
     * {@inheritDoc}
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   222
     */
212
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   223
    @Override
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   224
    public final boolean onOptionsItemSelected(MenuItem item) {
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   225
	switch (item.getItemId()) {
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   226
	case R.id.sendim_smiley:
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   227
	    mSmyDialog.show();
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   228
	    return true;
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   229
	default:
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   230
	    return false;
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   231
	}
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   232
    }
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   233
224
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   234
    /**
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   235
     * {@inheritDoc}
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   236
     */
212
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   237
    @Override
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   238
    protected void onPause() {
224
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   239
	super.onPause();
212
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   240
	try {
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   241
	    mChat.setOpen(false);
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   242
	} catch (RemoteException e) {
224
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   243
	    Log.d(TAG, "Error while closing chat", e);
212
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   244
	}
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   245
    }
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   246
224
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   247
    /**
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   248
     * {@inheritDoc}
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   249
     */
212
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   250
    @Override
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   251
    protected void onResume() {
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   252
	super.onResume();
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   253
	mBeemApplication = BeemApplication.getApplication(this);
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   254
	if (!mBeemApplication.isConnected())
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   255
	    mBeemApplication.startBeemService();
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   256
	mBeemApplication.callWhenConnectedToServer(mHandler, new Runnable() {
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   257
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   258
	    @Override
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   259
	    public void run() {
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   260
		mService = mBeemApplication.getXmppFacade();
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   261
		try {
224
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   262
		    if (mChatManager == null) {
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   263
			mChatManager = mService.getChatManager();
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   264
			mChatManager.addChatCreationListener(mChatManagerListener);
212
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   265
		    }
224
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   266
		    switchChat(mContact);
212
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   267
		} catch (RemoteException e) {
233
3e59c9dd8929 correction bug notification, pas de ticket ouvert + quelques strings pour les titres d'activite
marseille@marseille-desktop
parents: 224
diff changeset
   268
212
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   269
		    Log.e(TAG, "Error during chat manager creation", e);
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   270
		}
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   271
	    }
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   272
	});
233
3e59c9dd8929 correction bug notification, pas de ticket ouvert + quelques strings pour les titres d'activite
marseille@marseille-desktop
parents: 224
diff changeset
   273
	mScrolling.fullScroll(ScrollView.FOCUS_DOWN);
212
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   274
    }
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   275
224
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   276
    /**
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   277
     * {@inheritDoc}
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   278
     */
212
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   279
    @Override
224
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   280
    protected void onStart() {
212
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   281
	super.onStart();
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   282
	// TODO cancel the notification if any
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   283
	if (mContact == null)
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   284
	    mContact = getIntent().getParcelableExtra("contact");
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   285
	mService = mBeemApplication.getXmppFacade();
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   286
	setViewHeader();
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   287
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   288
    }
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   289
224
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   290
    /**
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   291
     * {@inheritDoc}
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   292
     */
212
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   293
    @Override
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   294
    protected void onStop() {
224
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   295
	super.onStop();
212
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   296
	try {
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   297
	    mChat.setOpen(false);
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   298
	} catch (RemoteException e) {
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   299
	    Log.d(TAG, "mchat open false", e);
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   300
	}
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   301
	mBeemApplication.unbindBeemService();
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   302
    }
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   303
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   304
    /**
224
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   305
     * Send a message to the contact over the XMPP connection. Also display it on activity view.
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   306
     * TODO : Gerer l'exception si la connexion se coupe pendant la conversation
212
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   307
     */
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   308
    private void sendText() {
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   309
	String text = mToSend.getText().toString();
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   310
	if (!text.equals("")) {
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   311
	    Message msg = new Message(mContact.getJID(), Message.MSG_TYPE_CHAT);
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   312
	    msg.setBody(text);
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   313
	    try {
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   314
		mChat.sendMessage(msg);
224
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   315
		if (mSpeak != 1)
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   316
		    mText.append(getString(R.string.SendIMYouSay) + text + '\n');
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   317
		else
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   318
		    mText.append(text + "\n");
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   319
		mToSend.setText(null);
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   320
		mScrolling.fullScroll(ScrollView.FOCUS_DOWN);
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   321
		mToSend.requestFocus();
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   322
		mSpeak = 1;
212
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   323
	    } catch (RemoteException e) {
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   324
		// TODO Auto-generated catch block
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   325
		e.printStackTrace();
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   326
	    }
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   327
	}
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   328
    }
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   329
224
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   330
    /**
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   331
     * Set the header information in the window.
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   332
     */
212
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   333
    private void setViewHeader() {
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   334
	Drawable avatar = getResources().getDrawable(R.drawable.avatar);
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   335
	ImageView imgV = (ImageView) findViewById(R.id.sendimavatar);
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   336
	imgV.setImageDrawable(avatar);
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   337
	mLogin = (TextView) findViewById(R.id.sendimlogin);
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   338
	mLogin.setText(mContact.getJID());
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   339
	TextView status = (TextView) findViewById(R.id.sendimstatus);
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   340
	status.setTextSize(12);
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   341
	mLogin.setTextColor(getResources().getColor(R.color.white));
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   342
	String statmsg = mContact.getMsgState();
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   343
	if (statmsg != null)
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   344
	    status.setText(statmsg);
224
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   345
    }
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   346
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   347
    /**
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   348
     * Show the message history.
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   349
     * 
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   350
     * @param messages
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   351
     *            list of message to display
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   352
     */
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   353
    private void showMessageList(List<Message> messages) {
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   354
	mText.setText("");
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   355
	mSpeak = 0;
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   356
	for (Message message : messages) {
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   357
	    String from = message.getFrom();
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   358
	    if (from == null) {
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   359
		if (mSpeak != 1)
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   360
		    mText.append(getString(R.string.SendIMYouSay));
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   361
		mSpeak = 1;
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   362
	    } else {
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   363
		if (mSpeak != 2) {
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   364
		    String str = String.format(getString(R.string.SendIMSays), from);
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   365
		    mText.append(str);
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   366
		}
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   367
		mSpeak = 2;
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   368
	    }
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   369
	    mText.append(message.getBody() + '\n');
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   370
	}
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   371
	mScrolling.fullScroll(ScrollView.FOCUS_DOWN);
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   372
    }
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   373
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   374
    /**
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   375
     * Change the correspondant of the chat.
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   376
     * 
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   377
     * @param newContact
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   378
     *            New contact to chat with
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   379
     * @throws RemoteException
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   380
     *             if an errors occurs in the connection with the service
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   381
     */
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   382
    private void switchChat(Contact newContact) throws RemoteException {
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   383
	if (mChat != null)
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   384
	    mChat.setOpen(false);
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   385
	mChat = mChatManager.createChat(newContact, mMessageListener);
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   386
	showMessageList(mChat.getMessages());
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   387
	mChat.setOpen(true);
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   388
	mContact = newContact;
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   389
	mToSend.requestFocus();
212
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 194
diff changeset
   390
    }
25
1e044613960c Activite envoi de messages
Philippe Lago <lago_p@epitech.net>
parents:
diff changeset
   391
}