# HG changeset patch # User Philippe Lago # Date 1245864180 -7200 # Node ID 66c7566e4caaf6ba34f4a53191f47429f36e1337 # Parent b4112a39526c6336fb2a310673aaf02602c44383 Affichage du ChatState dans IM pas terrible Formatage des messages avant affichage par string.format() plus de chaine en dur type "\n" diff -r b4112a39526c -r 66c7566e4caa res/layout/sendim.xml --- a/res/layout/sendim.xml Wed Jun 24 13:04:52 2009 +0200 +++ b/res/layout/sendim.xml Wed Jun 24 19:23:00 2009 +0200 @@ -15,7 +15,12 @@ android:layout_width="fill_parent" android:layout_height="wrap_content"> + Beem - Chat - %s says :\n - You say :\n + %s says :\n%s\n + You say :\n%s\n + %s\n Tip text here Is : + Error : %s\n and is speaking from : Insert a smiley login diff -r b4112a39526c -r 66c7566e4caa src/com/beem/project/beem/ui/SendIM.java --- a/src/com/beem/project/beem/ui/SendIM.java Wed Jun 24 13:04:52 2009 +0200 +++ b/src/com/beem/project/beem/ui/SendIM.java Wed Jun 24 19:23:00 2009 +0200 @@ -62,6 +62,7 @@ private IChat mChat; private TextView mText; private TextView mLogin; + private TextView mChatState; private ScrollView mScrolling; private char mSpeak; @@ -102,6 +103,7 @@ mToSend.setOnClickListener(this); mToSend.setOnKeyListener(this); mLogin = (TextView) findViewById(R.id.sendimlogin); + mChatState = (TextView) findViewById(R.id.sendimchatstate); try { mContact = new Contact(getIntent().getData()); if (mRoster != null) @@ -305,11 +307,11 @@ // INTERDICTION ! mChat.sendMessage(msg); if (mSpeak != 1) - mText - .append(getString(R.string.SendIMYouSay) + text - + '\n'); + mText.append(String.format( + getString(R.string.SendIMYouSay), text)); else - mText.append(text + "\n"); + mText.append(String.format( + getString(R.string.SendIMSameSpeaker), text)); mToSend.setText(null); mScrolling.fullScroll(ScrollView.FOCUS_DOWN); mToSend.requestFocus(); @@ -333,17 +335,25 @@ String from = message.getFrom(); if (from == null) { if (mSpeak != 1) - mText.append(getString(R.string.SendIMYouSay)); + mText.append(String + .format(getString(R.string.SendIMYouSay), message + .getBody())); + else + mText.append(String.format( + getString(R.string.SendIMSameSpeaker), message + .getBody())); mSpeak = 1; } else { if (mSpeak != 2) { String str = String.format(getString(R.string.SendIMSays), - mContactName); + mContactName, message.getBody()); mText.append(str); - } + } else + mText.append(String.format( + getString(R.string.SendIMSameSpeaker), message + .getBody())); mSpeak = 2; } - mText.append(message.getBody() + '\n'); } mScrolling.fullScroll(ScrollView.FOCUS_DOWN); } @@ -424,12 +434,12 @@ } @Override - public void onEntryDeleteFromGroup(String group, String jid) throws RemoteException { + public void onEntryDeleteFromGroup(String group, String jid) + throws RemoteException { // TODO Auto-generated method stub - + } - } /** @@ -448,19 +458,27 @@ if (chat != mChat) return; final Message m = msg; + Log.d("Message Type", "Le type du message : " + m.getType()); mHandler.post(new Runnable() { @Override public void run() { if (m.getBody() != null) { - if (mSpeak == 2) - mText.append(m.getBody() + "\n"); + if (m.getType() == Message.MSG_TYPE_ERROR) { + mText.append(String.format( + getString(R.string.SendIMErrorMsg), m + .getBody())); + mSpeak = 0; + } else if (mSpeak == 2) + mText.append(String.format( + getString(R.string.SendIMSameSpeaker), m + .getBody())); else { - - String str = String - .format(getString(R.string.SendIMSays), mContactName); + + String str = String.format( + getString(R.string.SendIMSays), + mContactName, m.getBody()); mText.append(str); - mText.append(m.getBody() + "\n"); } mScrolling.fullScroll(ScrollView.FOCUS_DOWN); mToSend.requestFocus(); @@ -475,8 +493,18 @@ */ @Override public void stateChanged(IChat chat) throws RemoteException { - // TODO: a integrer dans l'ui - // Log.d(TAG, "state changed"); + if (chat != mChat) + return; + final String state = chat.getState(); + Log.d("ChatState", "Action du correspondant : <--- " + + chat.getState() + " --->"); + mHandler.post(new Runnable() { + + @Override + public void run() { + mChatState.setText(state); + } + }); } }