author | nikita@nikita-rack |
Thu, 23 Apr 2009 20:25:41 +0200 | |
changeset 156 | 26442a8a7669 |
parent 155 | 7919a49cd5c6 (current diff) |
parent 149 | 2faf7174aa03 (diff) |
child 157 | eab125573dee |
--- a/AndroidManifest.xml Thu Apr 23 20:25:17 2009 +0200 +++ b/AndroidManifest.xml Thu Apr 23 20:25:41 2009 +0200 @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" - package="com.beem.project.beem" android:versionCode="1" android:versionName="1.0"> - <application android:label="@string/app_name" android:name="BeemApplication" android:theme="@style/customtheme.contactList" android:icon="@drawable/signal"> + package="com.beem.project.beem" android:versionCode="1" + android:versionName="1.0"> + <application android:label="@string/app_name" android:name="BeemApplication" android:icon="@drawable/signal"> <activity android:name=".ui.ContactList" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> @@ -15,7 +16,6 @@ <activity android:name=".ui.ChangeStatus" android:label="@string/app_name" /> <activity android:name=".ui.AccountCreation" android:label="@string/app_name" /> <activity android:name=".ui.AddContact" android:label="@string/app_name" /> - <activity android:name=".ui.Subscription" android:label="@string/app_name" /> <service android:name="BeemService" android:enabled="true" android:label="Beem Service" android:permission="com.beem.project.beem.BEEM_SERVICE"> <intent-filter>
--- a/res/layout/contactlistcontact.xml Thu Apr 23 20:25:17 2009 +0200 +++ b/res/layout/contactlistcontact.xml Thu Apr 23 20:25:41 2009 +0200 @@ -2,7 +2,10 @@ <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="fill_parent" - android:layout_height="wrap_content" + android:layout_height="wrap_content" + android:paddingLeft="10px" + android:paddingRight="10px" + android:background="@drawable/beem_sendim_header_1" android:gravity="center_vertical" > <ImageView android:id="@+id/contactliststatus"
--- a/res/layout/contactlistsettings.xml Thu Apr 23 20:25:17 2009 +0200 +++ b/res/layout/contactlistsettings.xml Thu Apr 23 20:25:41 2009 +0200 @@ -106,6 +106,11 @@ android:text="OK"> <requestFocus /> </Button> + <Button android:id="@+id/reconnect" android:layout_width="wrap_content" + android:layout_height="wrap_content" android:layout_gravity="center_horizontal" + android:text="Reconnect"> + <requestFocus /> + </Button> </LinearLayout> </ScrollView> \ No newline at end of file
--- a/res/layout/sendim.xml Thu Apr 23 20:25:17 2009 +0200 +++ b/res/layout/sendim.xml Thu Apr 23 20:25:41 2009 +0200 @@ -3,23 +3,58 @@ android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> - <LinearLayout + android:orientation="horizontal" + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:paddingLeft="10px" + android:paddingRight="10px" + android:background="@drawable/beem_sendim_header_1" + android:gravity="center_vertical" > + + <ImageView android:id="@+id/sendimavatar" + android:layout_weight="5" + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:gravity="center_vertical" /> + + <LinearLayout + android:orientation="vertical" + android:layout_weight="1" + android:layout_width="fill_parent" + android:layout_height="wrap_content" > + <TextView android:id="@+id/sendimlogin" + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:paddingLeft="20sp" /> + <TextView android:id="@+id/sendimstatus" + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:hint="@string/SendIMNoStatusSet" + android:paddingLeft="20sp" /> + </LinearLayout> +</LinearLayout> + +<!-- <LinearLayout android:paddingLeft="5px" android:paddingTop="5px" android:background="@drawable/beem_sendim_header_1" android:orientation="horizontal" android:layout_width="fill_parent" - android:layout_height="wrap_content"> + android:layout_height="wrap_content" + android:layout_weight="4"> <ImageView android:id="@+id/sendimavatar" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:src="@drawable/avatar"/> + android:maxHeight="80px" + android:layout_weight="5" + android:src="@drawable/background"/> <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" + android:layout_weight="1" android:orientation="vertical"> <TextView android:id="@+id/sendimlogin" @@ -34,7 +69,7 @@ android:layout_height="wrap_content" android:hint="@string/SendIMNoStatusSet"/> </LinearLayout> - </LinearLayout> + </LinearLayout>--> <ScrollView android:id="@+id/sendimscroll"
--- a/res/menu/contactlistmenu.xml Thu Apr 23 20:25:17 2009 +0200 +++ b/res/menu/contactlistmenu.xml Thu Apr 23 20:25:41 2009 +0200 @@ -1,6 +1,6 @@ <menu xmlns:android="http://schemas.android.com/apk/res/android"> - <item android:title="Creer ou Editer un compte" android:id="@+id/account_edit" android:icon="@drawable/xmpp"/> + <item android:title="@string/MenuConnection" android:id="@+id/account_edit" android:icon="@drawable/xmpp"/> <item android:title="@string/MenuAddContact" android:id="@+id/add_contact" /> - <item android:title="L'equipe Beem" android:id="@+id/account_about"/> - <item android:title="TEMP/createAccount" android:id="@+id/account_create"/> + <item android:title="@string/MenuAccountAbout" android:id="@+id/account_about"/> + <item android:title="@string/MenuAccountCreate" android:id="@+id/account_create"/> </menu>
--- a/res/values/strings.xml Thu Apr 23 20:25:17 2009 +0200 +++ b/res/values/strings.xml Thu Apr 23 20:25:41 2009 +0200 @@ -57,6 +57,9 @@ <string name="ChangeStatusText">Type here your status message :</string> <string name="MenuAddContact">Add new contact</string> + <string name="MenuAccountAbout">Beem Project</string> + <string name="MenuAccountCreate">Create account</string> + <string name="MenuConnection">Edit account</string> <string name="ChangeStatusOk">Updating status</string> <string name="ChangeStatusNoChange">Nothing to change</string>
--- a/res/values/style.xml Thu Apr 23 20:25:17 2009 +0200 +++ b/res/values/style.xml Thu Apr 23 20:25:41 2009 +0200 @@ -1,31 +1,31 @@ <?xml version="1.0" encoding="utf-8"?> <resources> - <style name="customtheme" parent="android:Theme"> - </style> - - <style name="customtheme.contactList"> - <item name="android:windowBackground">@drawable/background</item> - <item name="android:windowNoTitle">true</item> - <item name="android:textColor">#000000</item> - <item name="android:typeface">sans</item> - <item name="android:textSize">18sp</item> + <style name="customtheme" parent="android:Theme"> + </style> + + <style name="customtheme.contactList"> + <item name="android:windowBackground">@drawable/background</item> + <item name="android:windowNoTitle">true</item> + <item name="android:textColor">#000000</item> + <item name="android:typeface">sans</item> + <item name="android:textSize">18sp</item> + + </style> - </style> - - <style name="customtheme.jungle"> - <item name="android:windowBackground">@drawable/background</item> - <item name="android:windowNoTitle">true</item> - <item name="android:textColor">#FFFFFF</item> - <item name="android:typeface">sans</item> - <item name="android:textSize">18sp</item> - </style> - - <style name="customtheme.spinner"> - <item name="android:windowBackground">@drawable/background</item> - <item name="android:windowNoTitle">true</item> - <item name="android:textColor">#FF0000</item> - <item name="android:typeface">sans</item> - <item name="android:textSize">18sp</item> - </style> - + <style name="customtheme.jungle"> + <item name="android:windowBackground">@drawable/background</item> + <item name="android:windowNoTitle">true</item> + <item name="android:textColor">#FFFFFF</item> + <item name="android:typeface">sans</item> + <item name="android:textSize">18sp</item> + </style> + + <style name="customtheme.spinner"> + <item name="android:windowBackground">@drawable/background</item> + <item name="android:windowNoTitle">true</item> + <item name="android:textColor">#FF0000</item> + <item name="android:typeface">sans</item> + <item name="android:textSize">18sp</item> + </style> + </resources> \ No newline at end of file
--- a/src/com/beem/project/beem/BeemApplication.java Thu Apr 23 20:25:17 2009 +0200 +++ b/src/com/beem/project/beem/BeemApplication.java Thu Apr 23 20:25:41 2009 +0200 @@ -98,7 +98,7 @@ mBeemApp.mActivity = activity; mBeemApp.mProgressDialog = new ProgressDialog(activity); mBeemApp.mProgressDialog.setTitle("Beem"); - mBeemApp.mProgressDialog.setIcon(R.drawable.signal); + mBeemApp.mProgressDialog.setIcon(R.drawable.barthe_f); mBeemApp.mProgressDialog.setMessage("Connecting..."); mBeemApp.mApplicationContext = activity.getApplication(); mBeemApp.mPrivateResources = activity.getResources();
--- a/src/com/beem/project/beem/BeemService.java Thu Apr 23 20:25:17 2009 +0200 +++ b/src/com/beem/project/beem/BeemService.java Thu Apr 23 20:25:41 2009 +0200 @@ -82,7 +82,7 @@ mPassword = mSettings.getString(getString(R.string.PreferencePasswordKey), ""); mHost = mSettings.getString(getString(R.string.PreferenceHostKey), ""); // TODO penser a commenter - mHost = "10.0.2.2"; + //mHost = "10.0.2.2"; initConnectionConfig(); mNotificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); mConnection = new XmppConnectionAdapter(mConnectionConfiguration, mLogin, mPassword, this);
--- a/src/com/beem/project/beem/ui/ContactList.java Thu Apr 23 20:25:17 2009 +0200 +++ b/src/com/beem/project/beem/ui/ContactList.java Thu Apr 23 20:25:41 2009 +0200 @@ -8,7 +8,6 @@ import android.app.ExpandableListActivity; import android.content.Context; import android.content.Intent; -import android.content.SharedPreferences; import android.graphics.drawable.Drawable; import android.net.Uri; import android.os.Bundle; @@ -39,23 +38,20 @@ private static final String TAG = "CONTACTLIST_ACT"; private static final int PREFERENCECHANGED = 0; - private static final int CREATEACCOUNT = 1; + private static final String CHILD = "CHILD"; + private static final String GROUP = "GROUP"; private IXmppFacade mService = null; - private SharedPreferences mSettings; - private Handler mHandler; private BeemApplication mBeemApplication; private BeemRosterListener mRosterListener; private IRoster mRoster; @SuppressWarnings("unchecked") @Override - public boolean onChildClick(ExpandableListView parent, View v, - int groupPosition, int childPosition, long id) { + public boolean onChildClick(ExpandableListView parent, View v, int groupPosition, int childPosition, long id) { + Map<String, Contact> child = (HashMap<String, Contact>) parent.getExpandableListAdapter().getChild( + groupPosition, childPosition); Intent i = new Intent(this, SendIM.class); - Map<String, Contact> child = (HashMap<String, Contact>) parent - .getExpandableListAdapter().getChild(groupPosition, - childPosition); - i.putExtra("contact", child.get("CHILD")); + i.putExtra("contact", child.get(CHILD)); startActivity(i); return true; } @@ -63,35 +59,10 @@ @Override protected void onCreate(Bundle saveBundle) { super.onCreate(saveBundle); - setTheme(R.style.customtheme_contactList); - mHandler = new Handler(); mBeemApplication = BeemApplication.getApplication(this); - mSettings = getSharedPreferences( - getString(R.string.PreferenceFileName), MODE_PRIVATE); mRosterListener = new BeemRosterListener(); - } - - @Override - protected void onStart() { - super.onStart(); - } - - @Override - protected void onDestroy() { - // TODO Auto-generated method stub - super.onDestroy(); - mBeemApplication.unbindBeemService(); - } - - @Override - protected void onResume() { - super.onResume(); mBeemApplication.startBeemService(); - /* - * @TODO: A ameliorer apres listener de nikita - */ - Log.i(TAG, "onResume"); - mBeemApplication.callWhenConnectedToServer(mHandler, new Runnable() { + mBeemApplication.callWhenConnectedToServer(new Handler(), new Runnable() { @Override public void run() { mService = mBeemApplication.getXmppFacade(); @@ -112,14 +83,20 @@ }); } + @Override + protected void onDestroy() { + // TODO Auto-generated method stub + super.onDestroy(); + mBeemApplication.unbindBeemService(); + } + private void callbackShowContactList() { /* * @TODO: A ameliorer apres listener de nikita */ if (mRoster != null) try { - showContactList(mRoster.getGroupsNames(), mRoster - .getContactList()); + showContactList(mRoster.getGroupsNames(), mRoster.getContactList()); } catch (RemoteException e) { e.printStackTrace(); } @@ -127,9 +104,7 @@ /** * Callback for menu creation. - * - * @param menu - * the menu created + * @param menu the menu created * @return true on success, false otherwise */ @Override @@ -142,9 +117,7 @@ /** * Callback for menu item selected. - * - * @param item - * the item selected + * @param item the item selected * @return true on success, false otherwise */ @Override @@ -168,19 +141,23 @@ } } - protected void onActivityResult(int requestCode, int resultCode, - Intent data) { + protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == PREFERENCECHANGED) { if (resultCode == RESULT_OK) { mBeemApplication.stopBeemService(); mBeemApplication.startBeemService(); - } + } } } + private boolean isStatusOK(int status) { + if (status == Status.CONTACT_STATUS_AVAILABLE || status == Status.CONTACT_STATUS_AVAILABLE_FOR_CHAT + || status == Status.CONTACT_STATUS_AWAY || status == Status.CONTACT_STATUS_BUSY) + return true; + return false; + } - private void showContactList(List<String> listGroup, - List<Contact> listContact) { + private void showContactList(List<String> listGroup, List<Contact> listContact) { ExpandableListAdapter Adapter; List<Map<String, String>> groupData = new ArrayList<Map<String, String>>(); List<List<Map<String, Contact>>> childData = new ArrayList<List<Map<String, Contact>>>(); @@ -195,43 +172,36 @@ List<Map<String, Contact>> children = new ArrayList<Map<String, Contact>>(); for (int j = 0; j < listContact.size(); ++j) { + Contact c = listContact.get(j); + Log.i(TAG, c.getID() + " " + c.getJID()); Map<String, Contact> curChildMap = new HashMap<String, Contact>(); children.add(curChildMap); - Contact c = listContact.get(j); - Log.i(TAG, c.getID() + " " + c.getJID()); - curChildMap.put("CHILD", c); + curChildMap.put(CHILD, c); } childData.add(children); } - Adapter = new ContactExpandableListAdapter(this, groupData, - R.layout.contactlistgroup, new String[] { "GROUP" }, - new int[] { R.id.textgroup }, childData, - R.layout.contactlistcontact, new String[] { "CHILD" }, - new int[] { R.id.contactliststatus, R.id.contactlistpseudo, - R.id.contactlistmsgperso, R.id.contactlistavatar }); + Adapter = new ContactExpandableListAdapter(this, groupData, R.layout.contactlistgroup, + new String[] { GROUP }, new int[] { R.id.textgroup }, childData, R.layout.contactlistcontact, + new String[] { CHILD }, new int[] { R.id.contactliststatus, R.id.contactlistpseudo, + R.id.contactlistmsgperso, R.id.contactlistavatar }); setListAdapter(Adapter); } /** - * A simple adapter which allows you to bind data to specific Views defined - * within the layout of an Expandable Lists children (Implement - * getGroupView() to define the layout of parents) + * A simple adapter which allows you to bind data to specific Views defined within the layout of an Expandable Lists + * children (Implement getGroupView() to define the layout of parents) */ - private class ContactExpandableListAdapter extends - SimpleExpandableListAdapter { + private class ContactExpandableListAdapter extends SimpleExpandableListAdapter { private List<? extends List<? extends Map<String, ?>>> mChildData; private String[] mChildFrom; private int[] mChildTo; - public ContactExpandableListAdapter(Context context, - List<? extends Map<String, ?>> groupData, int groupLayout, - String[] groupFrom, int[] groupTo, - List<? extends List<? extends Map<String, ?>>> childData, - int childLayout, String[] childFrom, int[] childTo) { - super(context, groupData, groupLayout, groupFrom, groupTo, - childData, childLayout, childFrom, childTo); + public ContactExpandableListAdapter(Context context, List<? extends Map<String, ?>> groupData, int groupLayout, + String[] groupFrom, int[] groupTo, List<? extends List<? extends Map<String, ?>>> childData, + int childLayout, String[] childFrom, int[] childTo) { + super(context, groupData, groupLayout, groupFrom, groupTo, childData, childLayout, childFrom, childTo); mChildData = childData; mChildFrom = childFrom; @@ -240,8 +210,8 @@ } @Override - public View getChildView(int groupPosition, int childPosition, - boolean isLastChild, View convertView, ViewGroup parent) { + public View getChildView(int groupPosition, int childPosition, boolean isLastChild, View convertView, + ViewGroup parent) { View v; if (convertView == null) { @@ -249,13 +219,13 @@ } else { v = convertView; } - bindView(v, mChildData.get(groupPosition).get(childPosition), - mChildFrom, mChildTo, groupPosition, childPosition); + bindView(v, mChildData.get(groupPosition).get(childPosition), mChildFrom, mChildTo, groupPosition, + childPosition); return v; } - private void bindView(View view, Map<String, ?> data, String[] from, - int[] to, int groupPosition, int childPosition) { + private void bindView(View view, Map<String, ?> data, String[] from, int[] to, int groupPosition, + int childPosition) { Contact c = (Contact) data.get(from[0]); if (c != null) { @@ -264,33 +234,26 @@ Drawable imageDrawable = null; switch (c.getStatus()) { case Status.CONTACT_STATUS_AVAILABLE: - imageDrawable = (Drawable) getResources().getDrawable( - R.drawable.online); + imageDrawable = (Drawable) getResources().getDrawable(R.drawable.online); break; case Status.CONTACT_STATUS_AVAILABLE_FOR_CHAT: - imageDrawable = (Drawable) getResources().getDrawable( - R.drawable.chat); + imageDrawable = (Drawable) getResources().getDrawable(R.drawable.chat); break; case Status.CONTACT_STATUS_AWAY: - imageDrawable = (Drawable) getResources().getDrawable( - R.drawable.away); + imageDrawable = (Drawable) getResources().getDrawable(R.drawable.away); break; case Status.CONTACT_STATUS_BUSY: - imageDrawable = (Drawable) getResources().getDrawable( - R.drawable.dnd); + imageDrawable = (Drawable) getResources().getDrawable(R.drawable.dnd); break; case Status.CONTACT_STATUS_DISCONNECT: - imageDrawable = (Drawable) getResources().getDrawable( - R.drawable.offline); + imageDrawable = (Drawable) getResources().getDrawable(R.drawable.offline); break; case Status.CONTACT_STATUS_UNAVAILABLE: - imageDrawable = (Drawable) getResources().getDrawable( - R.drawable.requested); + imageDrawable = (Drawable) getResources().getDrawable(R.drawable.requested); break; default: - imageDrawable = (Drawable) getResources().getDrawable( - R.drawable.error); - break; + imageDrawable = (Drawable) getResources().getDrawable(R.drawable.error); + break; } imgV.setImageDrawable(imageDrawable); @@ -305,13 +268,11 @@ } /* - * TODO: Rajouter l'avatar du contact getAvatar() dans la - * classe + * TODO: Rajouter l'avatar du contact getAvatar() dans la classe */ imgV = (ImageView) view.findViewById(to[3]); if (imgV != null) { - imageDrawable = (Drawable) getResources().getDrawable( - R.drawable.avatar); + imageDrawable = (Drawable) getResources().getDrawable(R.drawable.avatar); imgV.setImageDrawable(imageDrawable); } } @@ -321,29 +282,25 @@ private class BeemRosterListener extends IBeemRosterListener.Stub { @Override - public void onEntriesAdded(List<String> addresses) - throws RemoteException { + public void onEntriesAdded(List<String> addresses) throws RemoteException { Log.i(TAG, "ENTRIES ADDED"); } @Override - public void onEntriesDeleted(List<String> addresses) - throws RemoteException { + public void onEntriesDeleted(List<String> addresses) throws RemoteException { Log.i(TAG, "ENTRIES DEL"); } @Override - public void onEntriesUpdated(List<String> addresses) - throws RemoteException { + public void onEntriesUpdated(List<String> addresses) throws RemoteException { Log.i(TAG, "ENTRIES UPD"); } @Override - public void onPresenceChanged(PresenceAdapter presence) - throws RemoteException { + public void onPresenceChanged(PresenceAdapter presence) throws RemoteException { Log.i(TAG, "PRESENCE CHANGED"); }
--- a/src/com/beem/project/beem/ui/ContactListSettings.java Thu Apr 23 20:25:17 2009 +0200 +++ b/src/com/beem/project/beem/ui/ContactListSettings.java Thu Apr 23 20:25:41 2009 +0200 @@ -51,6 +51,17 @@ showSettings(); Button ok = (Button) findViewById(R.id.ok); ok.setOnClickListener(mOkListener); + + Button reco = (Button) findViewById(R.id.reconnect); + reco.setOnClickListener(new OnClickListener () { + + @Override + public void onClick(View v) { + setResult(RESULT_OK); + finish(); + } + + }); } private OnItemSelectedListener mProxyType = new OnItemSelectedListener() {
--- a/src/com/beem/project/beem/ui/SendIM.java Thu Apr 23 20:25:17 2009 +0200 +++ b/src/com/beem/project/beem/ui/SendIM.java Thu Apr 23 20:25:41 2009 +0200 @@ -15,6 +15,7 @@ import android.view.View.OnClickListener; import android.view.View.OnKeyListener; import android.widget.EditText; +import android.widget.ImageView; import android.widget.ScrollView; import android.widget.TextView; @@ -45,7 +46,6 @@ private IChatManagerListener mChatManagerListener; private IMessageListener mMessageListener; private IChat mChat; - private Drawable mAvatar; private TextView mText; private TextView mLogin; private ScrollView mScrolling; @@ -64,7 +64,6 @@ @Override public void onCreate(Bundle saveBundle) { super.onCreate(saveBundle); - setTheme(R.style.customtheme_contactList); mHandler = new Handler(); mChatManagerListener = new OnChatListener(); mMessageListener = new OnMessageListener(); @@ -83,6 +82,9 @@ } private void setViewHeader() { + Drawable avatar = (Drawable) getResources().getDrawable(R.drawable.avatar); + ImageView imgV = (ImageView) findViewById(R.id.sendimavatar); + imgV.setImageDrawable(avatar); mLogin = (TextView) findViewById(R.id.sendimlogin); mLogin.setText(mContact.getJID()); TextView status = (TextView) findViewById(R.id.sendimstatus);