# HG changeset patch
# User nikita@nikita-rack
# Date 1240350562 -7200
# Node ID 728adc0feb4e65683e8208872c0b3b023259ab17
# Parent 64cd99927c28bf5e55c75ab306684b68ce9a6262
debut du addcontact
diff -r 64cd99927c28 -r 728adc0feb4e AndroidManifest.xml
--- a/AndroidManifest.xml Tue Apr 21 22:49:38 2009 +0200
+++ b/AndroidManifest.xml Tue Apr 21 23:49:22 2009 +0200
@@ -14,6 +14,7 @@
+
diff -r 64cd99927c28 -r 728adc0feb4e res/layout/addcontact.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/res/layout/addcontact.xml Tue Apr 21 23:49:22 2009 +0200
@@ -0,0 +1,80 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff -r 64cd99927c28 -r 728adc0feb4e res/menu/contactlistmenu.xml
--- a/res/menu/contactlistmenu.xml Tue Apr 21 22:49:38 2009 +0200
+++ b/res/menu/contactlistmenu.xml Tue Apr 21 23:49:22 2009 +0200
@@ -1,5 +1,6 @@
diff -r 64cd99927c28 -r 728adc0feb4e res/values/strings.xml
--- a/res/values/strings.xml Tue Apr 21 22:49:38 2009 +0200
+++ b/res/values/strings.xml Tue Apr 21 23:49:22 2009 +0200
@@ -48,5 +48,7 @@
Type here your status message :
+
+ Add new contact
diff -r 64cd99927c28 -r 728adc0feb4e src/com/beem/project/beem/service/BeemChatManager.java
--- a/src/com/beem/project/beem/service/BeemChatManager.java Tue Apr 21 22:49:38 2009 +0200
+++ b/src/com/beem/project/beem/service/BeemChatManager.java Tue Apr 21 23:49:22 2009 +0200
@@ -141,7 +141,7 @@
public void chatCreated(Chat chat, boolean locally) {
IChat newchat = getChat(chat);
if (!locally) {
- // chat.addMessageListener(mChatListener);
+ // chat.addMessageListener(mChatListener);
notifyNewChat(newchat);
}
chat.addMessageListener(mChatListener);
@@ -184,7 +184,8 @@
public void processMessage(Chat chat, Message message) {
IChat newchat = getChat(chat);
try {
- newchat.addToLastMessages(message.getBody());
+ if (message.getBody() != null)
+ newchat.addToLastMessages(message.getBody());
final int n = mRemoteMessageListeners.beginBroadcast();
for (int i = 0; i < n; i++) {
IMessageListener listener = mRemoteMessageListeners.getBroadcastItem(i);
diff -r 64cd99927c28 -r 728adc0feb4e src/com/beem/project/beem/service/RosterAdapter.java
--- a/src/com/beem/project/beem/service/RosterAdapter.java Tue Apr 21 22:49:38 2009 +0200
+++ b/src/com/beem/project/beem/service/RosterAdapter.java Tue Apr 21 23:49:22 2009 +0200
@@ -49,8 +49,7 @@
if (!mContacts.containsKey(user)) {
Contact c = new Contact(user);
c.setStatus(roster.getPresence(user));
- mContacts.put(user, c);
-
+ mContacts.put(user, c);
}
}
}
diff -r 64cd99927c28 -r 728adc0feb4e src/com/beem/project/beem/ui/AccountCreation.java
--- a/src/com/beem/project/beem/ui/AccountCreation.java Tue Apr 21 22:49:38 2009 +0200
+++ b/src/com/beem/project/beem/ui/AccountCreation.java Tue Apr 21 23:49:22 2009 +0200
@@ -40,7 +40,6 @@
Button ok = (Button) findViewById(R.id.ok);
mSettings = getSharedPreferences(
getString(R.string.PreferenceFileName), MODE_PRIVATE);
- //mAccountManager = new AccountManager();
ok.setOnClickListener(mOkListener);
}
diff -r 64cd99927c28 -r 728adc0feb4e src/com/beem/project/beem/ui/AddContact.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/com/beem/project/beem/ui/AddContact.java Tue Apr 21 23:49:22 2009 +0200
@@ -0,0 +1,90 @@
+/**
+ *
+ */
+package com.beem.project.beem.ui;
+
+import com.beem.project.beem.BeemApplication;
+import com.beem.project.beem.R;
+import com.beem.project.beem.service.aidl.IXmppFacade;
+
+import android.app.Activity;
+import android.os.Bundle;
+import android.os.RemoteException;
+import android.util.Log;
+import android.view.View;
+import android.view.View.OnClickListener;
+import android.widget.Button;
+import android.widget.EditText;
+import android.widget.Toast;
+
+/**
+ * @author nikita
+ *
+ */
+public class AddContact extends Activity {
+
+ protected static final String TAG = "AddContact";
+ private String mLogin;
+ private String mAlias;
+ private String[] mGroup;
+ private IXmppFacade mService;
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.addcontact);
+ Button ok = (Button) findViewById(R.id.ok);
+ //mAccountManager = new AccountManager();
+ ok.setOnClickListener(mOkListener);
+ mService = BeemApplication.getApplication(this).getXmppFacade();
+ }
+
+ private OnClickListener mOkListener = new OnClickListener() {
+
+ @Override
+ public void onClick(View v) {
+ boolean valid = true;
+ if (getWidgetText(R.id.login).length() != 0) {
+ Log.d(TAG, "login pas ok");
+ valid = false;
+ } else {
+ mLogin = getWidgetText(R.id.login);
+ }
+ if (getWidgetText(R.id.alias).length() != 0) {
+ Log.d(TAG, "alias pas ok");
+ valid = false;
+ } else {
+ mAlias = getWidgetText(R.id.alias);
+ }
+ if (getWidgetText(R.id.group).length() != 0) {
+ Log.d(TAG, "group pas ok");
+ valid = false;
+ } else {
+ mGroup[0] = getWidgetText(R.id.group);
+ }
+ if (valid) {
+ try {
+ mService.getRoster().addContact(mLogin, mAlias, mGroup);
+ Toast.makeText(AddContact.this, "Contact added",
+ Toast.LENGTH_SHORT).show();
+ finish();
+ } catch (RemoteException e) {
+ Toast.makeText(AddContact.this, e.getMessage(),
+ Toast.LENGTH_SHORT).show();
+ e.printStackTrace();
+ }
+ setResult(RESULT_OK);
+ } else {
+ Toast.makeText(AddContact.this, "Bad form",
+ Toast.LENGTH_SHORT).show();
+ setResult(RESULT_CANCELED);
+ }
+
+ }
+ };
+
+ private String getWidgetText(int id) {
+ EditText widget = (EditText) this.findViewById(id);
+ return widget.getText().toString();
+ }
+}
diff -r 64cd99927c28 -r 728adc0feb4e src/com/beem/project/beem/ui/ContactList.java
--- a/src/com/beem/project/beem/ui/ContactList.java Tue Apr 21 22:49:38 2009 +0200
+++ b/src/com/beem/project/beem/ui/ContactList.java Tue Apr 21 23:49:22 2009 +0200
@@ -49,11 +49,11 @@
@SuppressWarnings("unchecked")
@Override
public boolean onChildClick(ExpandableListView parent, View v,
- int groupPosition, int childPosition, long id) {
+ int groupPosition, int childPosition, long id) {
Intent i = new Intent(this, SendIM.class);
Map child = (HashMap) parent
- .getExpandableListAdapter().getChild(groupPosition,
- childPosition);
+ .getExpandableListAdapter().getChild(groupPosition,
+ childPosition);
i.putExtra("contact", child.get("CHILD"));
startActivity(i);
return true;
@@ -66,7 +66,7 @@
mHandler = new Handler();
mBeemApplication = BeemApplication.getApplication(this);
mSettings = getSharedPreferences(
- getString(R.string.PreferenceFileName), MODE_PRIVATE);
+ getString(R.string.PreferenceFileName), MODE_PRIVATE);
mRosterListener = new BeemRosterListener();
}
@@ -74,12 +74,12 @@
protected void onStart() {
super.onStart();
}
-
+
@Override
protected void onDestroy() {
- // TODO Auto-generated method stub
- super.onDestroy();
- // mBeemApplication.unbindBeemService();
+ // TODO Auto-generated method stub
+ super.onDestroy();
+ // mBeemApplication.unbindBeemService();
}
@Override
@@ -118,7 +118,7 @@
if (mRoster != null)
try {
showContactList(mRoster.getGroupsNames(), mRoster
- .getContactList());
+ .getContactList());
} catch (RemoteException e) {
e.printStackTrace();
}
@@ -157,24 +157,27 @@
case R.id.account_create:
startActivity(new Intent(this, AccountCreation.class));
return true;
+ case R.id.add_contact:
+ startActivity(new Intent(this, AddContact.class));
+ return true;
default:
return false;
}
}
-
+
protected void onActivityResult(int requestCode, int resultCode,
- Intent data) {
- if (requestCode == PREFERENCECHANGED) {
- if (resultCode == RESULT_OK) {
- mBeemApplication.stopBeemService();
- mBeemApplication.startBeemService();
- }
- }
+ Intent data) {
+ if (requestCode == PREFERENCECHANGED) {
+ if (resultCode == RESULT_OK) {
+ mBeemApplication.stopBeemService();
+ mBeemApplication.startBeemService();
+ }
+ }
}
private void showContactList(List listGroup,
- List listContact) {
+ List listContact) {
ExpandableListAdapter Adapter;
List