# HG changeset patch # User Da Risk # Date 1239817295 -7200 # Node ID c60aa223786530d77fb20493c9f71ae987c42509 # Parent 71ad42062140a8476625df263af82e7bdaaba0e9# Parent b31649abe73117504dc1bc93697b3d2e08d5f878 merge with ui diff -r 71ad42062140 -r c60aa2237865 res/drawable/boot_robot.png Binary file res/drawable/boot_robot.png has changed diff -r 71ad42062140 -r c60aa2237865 res/layout/messagelist.xml --- a/res/layout/messagelist.xml Thu Apr 16 00:33:00 2009 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,6 +0,0 @@ - - \ No newline at end of file diff -r 71ad42062140 -r c60aa2237865 res/layout/sendim.xml --- a/res/layout/sendim.xml Thu Apr 16 00:33:00 2009 +0200 +++ b/res/layout/sendim.xml Wed Apr 15 19:41:35 2009 +0200 @@ -3,17 +3,47 @@ android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> - - + + + + + + + + + + + + + \ No newline at end of file diff -r 71ad42062140 -r c60aa2237865 res/menu/contactlistmenu.xml --- a/res/menu/contactlistmenu.xml Thu Apr 16 00:33:00 2009 +0200 +++ b/res/menu/contactlistmenu.xml Wed Apr 15 19:41:35 2009 +0200 @@ -1,4 +1,4 @@ - + diff -r 71ad42062140 -r c60aa2237865 res/values/colors.xml --- a/res/values/colors.xml Thu Apr 16 00:33:00 2009 +0200 +++ b/res/values/colors.xml Wed Apr 15 19:41:35 2009 +0200 @@ -2,4 +2,5 @@ #A0C8FF #000000 +#FFFFFF \ No newline at end of file diff -r 71ad42062140 -r c60aa2237865 res/values/strings.xml --- a/res/values/strings.xml Thu Apr 16 00:33:00 2009 +0200 +++ b/res/values/strings.xml Wed Apr 15 19:41:35 2009 +0200 @@ -29,9 +29,11 @@ says :\n - Tip text here + Tip text here Is : and is speaking from : Insert a smiley + login + No status set diff -r 71ad42062140 -r c60aa2237865 res/values/style.xml --- a/res/values/style.xml Thu Apr 16 00:33:00 2009 +0200 +++ b/res/values/style.xml Wed Apr 15 19:41:35 2009 +0200 @@ -3,10 +3,21 @@ - + + + + \ No newline at end of file diff -r 71ad42062140 -r c60aa2237865 src/com/beem/project/beem/BeemApplication.java diff -r 71ad42062140 -r c60aa2237865 src/com/beem/project/beem/BeemService.java diff -r 71ad42062140 -r c60aa2237865 src/com/beem/project/beem/service/BeemChatManager.java diff -r 71ad42062140 -r c60aa2237865 src/com/beem/project/beem/service/ChatAdapter.java diff -r 71ad42062140 -r c60aa2237865 src/com/beem/project/beem/service/Contact.java diff -r 71ad42062140 -r c60aa2237865 src/com/beem/project/beem/service/RosterAdapter.java diff -r 71ad42062140 -r c60aa2237865 src/com/beem/project/beem/service/XmppConnectionAdapter.java diff -r 71ad42062140 -r c60aa2237865 src/com/beem/project/beem/service/aidl/IBeemConnectionListener.aidl diff -r 71ad42062140 -r c60aa2237865 src/com/beem/project/beem/service/aidl/IChat.aidl diff -r 71ad42062140 -r c60aa2237865 src/com/beem/project/beem/ui/ContactList.java --- a/src/com/beem/project/beem/ui/ContactList.java Thu Apr 16 00:33:00 2009 +0200 +++ b/src/com/beem/project/beem/ui/ContactList.java Wed Apr 15 19:41:35 2009 +0200 @@ -61,6 +61,7 @@ @Override protected void onCreate(Bundle saveBundle) { super.onCreate(saveBundle); + setTheme(R.style.customtheme_contactList); mHandler = new Handler(); mBeemApplication = BeemApplication.getApplication(this); mSettings = getSharedPreferences( diff -r 71ad42062140 -r c60aa2237865 src/com/beem/project/beem/ui/SendIM.java --- a/src/com/beem/project/beem/ui/SendIM.java Thu Apr 16 00:33:00 2009 +0200 +++ b/src/com/beem/project/beem/ui/SendIM.java Wed Apr 15 19:41:35 2009 +0200 @@ -2,12 +2,13 @@ import java.util.ArrayList; -import android.app.ListActivity; +import android.app.Activity; import android.content.SharedPreferences; -import android.content.SharedPreferences.OnSharedPreferenceChangeListener; +import android.graphics.drawable.Drawable; import android.os.Bundle; import android.os.Handler; import android.os.RemoteException; +import android.text.method.ScrollingMovementMethod; import android.util.Log; import android.view.KeyEvent; import android.view.Menu; @@ -16,8 +17,9 @@ import android.view.View; import android.view.View.OnClickListener; import android.view.View.OnKeyListener; -import android.widget.ArrayAdapter; import android.widget.EditText; +import android.widget.ScrollView; +import android.widget.TextView; import com.beem.project.beem.BeemApplication; import com.beem.project.beem.R; @@ -30,15 +32,15 @@ import com.beem.project.beem.service.aidl.IXmppFacade; /** - * @author barbu This activity class provide the view for instant messaging + * @author barbu This activity class provides the view for instant messaging * after selecting a correspondant. */ -public class SendIM extends ListActivity implements OnClickListener, +public class SendIM extends Activity implements OnClickListener, OnKeyListener { private EditText mToSend; private ArrayList mMessages = new ArrayList(); - private ArrayAdapter mAdapter; + //private ArrayAdapter mAdapter; private SendIMDialogSmiley mSmyDialog; private SharedPreferences mSet; private SharedPreferences mGlobalSettings; @@ -50,6 +52,11 @@ private IChatManagerListener mChatManagerListener; private IMessageListener mMessageListener; private IChat mChat; + private Drawable mAvatar; + private TextView mText; + private TextView mLogin; + private ScrollView mScrolling; + private Boolean mSpeak; /** * Constructor. @@ -64,6 +71,7 @@ @Override public void onCreate(Bundle saveBundle) { super.onCreate(saveBundle); + setTheme(R.style.customtheme_contactList); mHandler = new Handler(); mChatManagerListener = new OnChatListener(); mMessageListener = new OnMessageListener(); @@ -72,16 +80,30 @@ mToSend = (EditText) findViewById(R.id.userText); mSet = getSharedPreferences("lol", MODE_PRIVATE); mSmyDialog = new SendIMDialogSmiley(this, mSet); - mGlobalSettings = getSharedPreferences(getString(R.string.PreferenceFileName), MODE_PRIVATE); - - mAdapter = new ArrayAdapter(this, R.layout.messagelist, + mGlobalSettings = getSharedPreferences( + getString(R.string.PreferenceFileName), MODE_PRIVATE); + /*mAdapter = new ArrayAdapter(this, R.layout.messagelist, mMessages); - setListAdapter(mAdapter); + setListAdapter(mAdapter);*/ mToSend.setOnClickListener(this); mToSend.setOnKeyListener(this); - + mContact = getIntent().getParcelableExtra("contact"); + setViewHeader(); + mText = (TextView) findViewById(R.id.sendimlist); + mScrolling = (ScrollView) findViewById(R.id.sendimscroll); + } + + private void setViewHeader() + { + mLogin = (TextView) findViewById(R.id.sendimlogin); + String status = mContact.getMsgState(); + if (status == null) + status = getString(R.string.SendIMNoStatusSet); + else + status = mContact.getMsgState(); + mLogin.setText(mContact.getJID() + "\n" + status); } @Override @@ -112,8 +134,11 @@ * pendant la conversation */ private void sendText() { + if (mSpeak == null) + mSpeak = false; String text = mToSend.getText().toString(); - String from = mGlobalSettings.getString(getString(R.string.PreferenceJID), "You"); + String from = mGlobalSettings.getString( + getString(R.string.PreferenceJID), "You"); if (!text.equals("")) { Message msg = new Message(mContact.getJID(), Message.MSG_TYPE_CHAT); msg.setBody(text); @@ -123,8 +148,15 @@ // TODO Auto-generated catch block e.printStackTrace(); } - mAdapter.add(from + getString(R.string.SendIMSays) + text); + //mAdapter.add(from + getString(R.string.SendIMSays) + text); + if (!mSpeak) + mText.append(from + getString(R.string.SendIMSays) + text + "\n"); + else + mText.append(text + "\n"); mToSend.setText(null); + mScrolling.fullScroll(ScrollView.FOCUS_DOWN); + mToSend.requestFocus(); + mSpeak = true; } } @@ -168,27 +200,45 @@ return false; } } - + private class OnChatListener extends IChatManagerListener.Stub { @Override public void chatCreated(IChat chat, boolean locally) throws RemoteException { Log.i("LOG", "chatCreated"); - + } - + } - + private class OnMessageListener extends IMessageListener.Stub { @Override public void processMessage(IChat chat, Message msg) throws RemoteException { Log.i("LOG", "processMessage"); - mAdapter.add(mContact.getJID() + " " - + getString(R.string.SendIMSays) + msg.getBody()); + /*mAdapter.add(mContact.getJID() + " " + + getString(R.string.SendIMSays) + msg.getBody());*/ + + final Message m = msg; + mHandler.post(new Runnable() { + + @Override + public void run() { + if (m.getBody() != null) + { + if (!mSpeak) + mText.append(m.getBody() + "\n"); + else + mText.append(mContact.getJID() + " " + + getString(R.string.SendIMSays) + m.getBody() + "\n"); + mSpeak = false; + mScrolling.fullScroll(ScrollView.FOCUS_DOWN); + mToSend.requestFocus(); + } + } + }); } - } }