src/com/beem/project/beem/service/Contact.java
author Da Risk <darisk972@gmail.com>
Thu, 10 Sep 2009 16:27:25 +0200
changeset 367 284a4c4e8a11
parent 351 718557c6c309
child 369 952c6eeb6493
permissions -rw-r--r--
Correction d'un bug avec les uri qui contiennent des %
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
38
3e76846c48a9 We can now get the contact list of the user.
Da Risk <darisk972@gmail.com>
parents:
diff changeset
     1
/**
349
84d45a88699f Checkstyle rules
darisk@kaaliyah
parents: 342
diff changeset
     2
 *
38
3e76846c48a9 We can now get the contact list of the user.
Da Risk <darisk972@gmail.com>
parents:
diff changeset
     3
 */
3e76846c48a9 We can now get the contact list of the user.
Da Risk <darisk972@gmail.com>
parents:
diff changeset
     4
package com.beem.project.beem.service;
3e76846c48a9 We can now get the contact list of the user.
Da Risk <darisk972@gmail.com>
parents:
diff changeset
     5
69
cc06de2dfff0 test de merge et petit commit
nikita@nikita-rack
parents: 65
diff changeset
     6
import java.util.ArrayList;
180
d77ea17eea3a ajout des groupes dans ContactAdapter.java
nikita@nikita-rack
parents: 155
diff changeset
     7
import java.util.Collection;
69
cc06de2dfff0 test de merge et petit commit
nikita@nikita-rack
parents: 65
diff changeset
     8
import java.util.List;
cc06de2dfff0 test de merge et petit commit
nikita@nikita-rack
parents: 65
diff changeset
     9
180
d77ea17eea3a ajout des groupes dans ContactAdapter.java
nikita@nikita-rack
parents: 155
diff changeset
    10
import org.jivesoftware.smack.RosterGroup;
65
fcafa1e28942 ajout de quelques petites modifs
nikita@nikita-rack
parents: 58
diff changeset
    11
import org.jivesoftware.smack.packet.Presence;
222
f72be51936d5 Utilisation de setData() dans les pour passer un contact aux Intent
Da Risk <darisk972@gmail.com>
parents: 191
diff changeset
    12
import org.jivesoftware.smack.util.StringUtils;
f72be51936d5 Utilisation de setData() dans les pour passer un contact aux Intent
Da Risk <darisk972@gmail.com>
parents: 191
diff changeset
    13
f72be51936d5 Utilisation de setData() dans les pour passer un contact aux Intent
Da Risk <darisk972@gmail.com>
parents: 191
diff changeset
    14
import android.net.Uri;
f72be51936d5 Utilisation de setData() dans les pour passer un contact aux Intent
Da Risk <darisk972@gmail.com>
parents: 191
diff changeset
    15
import android.os.Parcel;
f72be51936d5 Utilisation de setData() dans les pour passer un contact aux Intent
Da Risk <darisk972@gmail.com>
parents: 191
diff changeset
    16
import android.os.Parcelable;
65
fcafa1e28942 ajout de quelques petites modifs
nikita@nikita-rack
parents: 58
diff changeset
    17
106
a9bc9297dff7 Amelioration de la methode change status.
Da Risk <darisk972@gmail.com>
parents: 96
diff changeset
    18
import com.beem.project.beem.utils.Status;
a9bc9297dff7 Amelioration de la methode change status.
Da Risk <darisk972@gmail.com>
parents: 96
diff changeset
    19
38
3e76846c48a9 We can now get the contact list of the user.
Da Risk <darisk972@gmail.com>
parents:
diff changeset
    20
/**
3e76846c48a9 We can now get the contact list of the user.
Da Risk <darisk972@gmail.com>
parents:
diff changeset
    21
 * This class contains informations on a jabber contact.
3e76846c48a9 We can now get the contact list of the user.
Da Risk <darisk972@gmail.com>
parents:
diff changeset
    22
 * @author darisk
3e76846c48a9 We can now get the contact list of the user.
Da Risk <darisk972@gmail.com>
parents:
diff changeset
    23
 */
3e76846c48a9 We can now get the contact list of the user.
Da Risk <darisk972@gmail.com>
parents:
diff changeset
    24
public class Contact implements Parcelable {
349
84d45a88699f Checkstyle rules
darisk@kaaliyah
parents: 342
diff changeset
    25
69
cc06de2dfff0 test de merge et petit commit
nikita@nikita-rack
parents: 65
diff changeset
    26
    /**
cc06de2dfff0 test de merge et petit commit
nikita@nikita-rack
parents: 65
diff changeset
    27
     * Parcelable.Creator needs by Android.
cc06de2dfff0 test de merge et petit commit
nikita@nikita-rack
parents: 65
diff changeset
    28
     */
349
84d45a88699f Checkstyle rules
darisk@kaaliyah
parents: 342
diff changeset
    29
    public static final Parcelable.Creator<Contact> CREATOR = new Parcelable.Creator<Contact>() {
65
fcafa1e28942 ajout de quelques petites modifs
nikita@nikita-rack
parents: 58
diff changeset
    30
267
ab5493f08c57 Suppression du contact.
marseille@marseille-desktop
parents: 224
diff changeset
    31
	@Override
ab5493f08c57 Suppression du contact.
marseille@marseille-desktop
parents: 224
diff changeset
    32
	public Contact createFromParcel(Parcel source) {
ab5493f08c57 Suppression du contact.
marseille@marseille-desktop
parents: 224
diff changeset
    33
	    return new Contact(source);
ab5493f08c57 Suppression du contact.
marseille@marseille-desktop
parents: 224
diff changeset
    34
	}
58
ae9ca6ed9095 Add a listner for presence message in the RosterAdapter class
Da Risk <darisk972@gmail.com>
parents: 55
diff changeset
    35
267
ab5493f08c57 Suppression du contact.
marseille@marseille-desktop
parents: 224
diff changeset
    36
	@Override
ab5493f08c57 Suppression du contact.
marseille@marseille-desktop
parents: 224
diff changeset
    37
	public Contact[] newArray(int size) {
ab5493f08c57 Suppression du contact.
marseille@marseille-desktop
parents: 224
diff changeset
    38
	    return new Contact[size];
ab5493f08c57 Suppression du contact.
marseille@marseille-desktop
parents: 224
diff changeset
    39
	}
ab5493f08c57 Suppression du contact.
marseille@marseille-desktop
parents: 224
diff changeset
    40
    };
58
ae9ca6ed9095 Add a listner for presence message in the RosterAdapter class
Da Risk <darisk972@gmail.com>
parents: 55
diff changeset
    41
351
718557c6c309 Checkstyle rules
darisk@kaaliyah
parents: 349
diff changeset
    42
    private int mID;
718557c6c309 Checkstyle rules
darisk@kaaliyah
parents: 349
diff changeset
    43
    private int mStatus;
718557c6c309 Checkstyle rules
darisk@kaaliyah
parents: 349
diff changeset
    44
    private String mJID;
718557c6c309 Checkstyle rules
darisk@kaaliyah
parents: 349
diff changeset
    45
    private String mMsgState;
718557c6c309 Checkstyle rules
darisk@kaaliyah
parents: 349
diff changeset
    46
    private List<String> mRes;
718557c6c309 Checkstyle rules
darisk@kaaliyah
parents: 349
diff changeset
    47
    private List<String> mGroups;
718557c6c309 Checkstyle rules
darisk@kaaliyah
parents: 349
diff changeset
    48
    private String mName;
718557c6c309 Checkstyle rules
darisk@kaaliyah
parents: 349
diff changeset
    49
69
cc06de2dfff0 test de merge et petit commit
nikita@nikita-rack
parents: 65
diff changeset
    50
    /**
80
29f0d6a23321 Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents: 69
diff changeset
    51
     * Constructor.
29f0d6a23321 Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents: 69
diff changeset
    52
     */
29f0d6a23321 Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents: 69
diff changeset
    53
    public Contact() {
29f0d6a23321 Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents: 69
diff changeset
    54
    }
29f0d6a23321 Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents: 69
diff changeset
    55
223
bb656974bab1 Some javadocs
Da Risk <darisk972@gmail.com>
parents: 222
diff changeset
    56
    /**
69
cc06de2dfff0 test de merge et petit commit
nikita@nikita-rack
parents: 65
diff changeset
    57
     * Construct a contact from a parcel.
279
af993bc754a5 Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents: 271
diff changeset
    58
     * @param in
af993bc754a5 Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents: 271
diff changeset
    59
     *            parcel to use for construction
69
cc06de2dfff0 test de merge et petit commit
nikita@nikita-rack
parents: 65
diff changeset
    60
     */
cc06de2dfff0 test de merge et petit commit
nikita@nikita-rack
parents: 65
diff changeset
    61
    private Contact(final Parcel in) {
cc06de2dfff0 test de merge et petit commit
nikita@nikita-rack
parents: 65
diff changeset
    62
	mID = in.readInt();
cc06de2dfff0 test de merge et petit commit
nikita@nikita-rack
parents: 65
diff changeset
    63
	mStatus = in.readInt();
cc06de2dfff0 test de merge et petit commit
nikita@nikita-rack
parents: 65
diff changeset
    64
	mJID = in.readString();
209
f5b9da8365f5 Mise en place des alias
marseille@marseille-desktop
parents: 191
diff changeset
    65
	mName = in.readString();
69
cc06de2dfff0 test de merge et petit commit
nikita@nikita-rack
parents: 65
diff changeset
    66
	mMsgState = in.readString();
cc06de2dfff0 test de merge et petit commit
nikita@nikita-rack
parents: 65
diff changeset
    67
	mRes = new ArrayList<String>();
183
ec2072a6089a fix d'un segfault dans Contact.java
nikita@nikita-rack
parents: 180
diff changeset
    68
	mGroups = new ArrayList<String>();
77
0f474a0c4e93 Hop petit commit pour que popop puisse debugger.
marseille@KungFuh
parents: 69
diff changeset
    69
	in.readStringList(mRes);
183
ec2072a6089a fix d'un segfault dans Contact.java
nikita@nikita-rack
parents: 180
diff changeset
    70
	in.readStringList(mGroups);
69
cc06de2dfff0 test de merge et petit commit
nikita@nikita-rack
parents: 65
diff changeset
    71
    }
cc06de2dfff0 test de merge et petit commit
nikita@nikita-rack
parents: 65
diff changeset
    72
cc06de2dfff0 test de merge et petit commit
nikita@nikita-rack
parents: 65
diff changeset
    73
    /**
212
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
    74
     * Constructor.
279
af993bc754a5 Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents: 271
diff changeset
    75
     * @param jid
af993bc754a5 Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents: 271
diff changeset
    76
     *            JID of the contact
212
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
    77
     */
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
    78
    public Contact(final String jid) {
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
    79
	mJID = jid;
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
    80
	mName = jid;
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
    81
	mStatus = Status.CONTACT_STATUS_DISCONNECT;
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
    82
	mRes = new ArrayList<String>();
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
    83
	mRes.add("none");
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
    84
	mGroups = new ArrayList<String>();
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
    85
    }
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
    86
224
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
    87
    /**
223
bb656974bab1 Some javadocs
Da Risk <darisk972@gmail.com>
parents: 222
diff changeset
    88
     * Create a contact from a Uri.
279
af993bc754a5 Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents: 271
diff changeset
    89
     * @param uri
af993bc754a5 Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents: 271
diff changeset
    90
     *            an uri for the contact
af993bc754a5 Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents: 271
diff changeset
    91
     * @throws IllegalArgumentException
af993bc754a5 Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents: 271
diff changeset
    92
     *             if it is not a xmpp uri
223
bb656974bab1 Some javadocs
Da Risk <darisk972@gmail.com>
parents: 222
diff changeset
    93
     */
349
84d45a88699f Checkstyle rules
darisk@kaaliyah
parents: 342
diff changeset
    94
    public Contact(final Uri uri) {
342
2b489d4a7917 Some checkstyle rules
darisk@kaaliyah
parents: 308
diff changeset
    95
	if (!"xmpp".equals(uri.getScheme()))
222
f72be51936d5 Utilisation de setData() dans les pour passer un contact aux Intent
Da Risk <darisk972@gmail.com>
parents: 191
diff changeset
    96
	    throw new IllegalArgumentException();
367
284a4c4e8a11 Correction d'un bug avec les uri qui contiennent des %
Da Risk <darisk972@gmail.com>
parents: 351
diff changeset
    97
	mJID = uri.getEncodedSchemeSpecificPart();
222
f72be51936d5 Utilisation de setData() dans les pour passer un contact aux Intent
Da Risk <darisk972@gmail.com>
parents: 191
diff changeset
    98
    }
223
bb656974bab1 Some javadocs
Da Risk <darisk972@gmail.com>
parents: 222
diff changeset
    99
80
29f0d6a23321 Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents: 69
diff changeset
   100
    /**
224
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   101
     * Add a group for the contact.
279
af993bc754a5 Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents: 271
diff changeset
   102
     * @param group
af993bc754a5 Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents: 271
diff changeset
   103
     *            the group
80
29f0d6a23321 Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents: 69
diff changeset
   104
     */
212
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
   105
    public void addGroup(String group) {
267
ab5493f08c57 Suppression du contact.
marseille@marseille-desktop
parents: 224
diff changeset
   106
	if (!mGroups.contains(group))
ab5493f08c57 Suppression du contact.
marseille@marseille-desktop
parents: 224
diff changeset
   107
	    mGroups.add(group);
ab5493f08c57 Suppression du contact.
marseille@marseille-desktop
parents: 224
diff changeset
   108
    }
ab5493f08c57 Suppression du contact.
marseille@marseille-desktop
parents: 224
diff changeset
   109
349
84d45a88699f Checkstyle rules
darisk@kaaliyah
parents: 342
diff changeset
   110
    /**
84d45a88699f Checkstyle rules
darisk@kaaliyah
parents: 342
diff changeset
   111
     * Remove the contact from a group.
84d45a88699f Checkstyle rules
darisk@kaaliyah
parents: 342
diff changeset
   112
     * @param group the group to delete the contact from.
84d45a88699f Checkstyle rules
darisk@kaaliyah
parents: 342
diff changeset
   113
     */
267
ab5493f08c57 Suppression du contact.
marseille@marseille-desktop
parents: 224
diff changeset
   114
    public void delGroup(String group) {
ab5493f08c57 Suppression du contact.
marseille@marseille-desktop
parents: 224
diff changeset
   115
	mGroups.remove(group);
80
29f0d6a23321 Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents: 69
diff changeset
   116
    }
29f0d6a23321 Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents: 69
diff changeset
   117
29f0d6a23321 Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents: 69
diff changeset
   118
    /**
224
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   119
     * Add a resource for this contact.
279
af993bc754a5 Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents: 271
diff changeset
   120
     * @param res
af993bc754a5 Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents: 271
diff changeset
   121
     *            the resource to add
69
cc06de2dfff0 test de merge et petit commit
nikita@nikita-rack
parents: 65
diff changeset
   122
     */
212
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
   123
    public void addRes(String res) {
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
   124
	if (!mRes.contains(res))
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
   125
	    mRes.add(res);
69
cc06de2dfff0 test de merge et petit commit
nikita@nikita-rack
parents: 65
diff changeset
   126
    }
cc06de2dfff0 test de merge et petit commit
nikita@nikita-rack
parents: 65
diff changeset
   127
cc06de2dfff0 test de merge et petit commit
nikita@nikita-rack
parents: 65
diff changeset
   128
    /**
224
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   129
     * Delete a resource for this contact.
279
af993bc754a5 Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents: 271
diff changeset
   130
     * @param res
af993bc754a5 Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents: 271
diff changeset
   131
     *            the resource de delete
69
cc06de2dfff0 test de merge et petit commit
nikita@nikita-rack
parents: 65
diff changeset
   132
     */
212
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
   133
    public void delRes(String res) {
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
   134
	mRes.remove(res);
69
cc06de2dfff0 test de merge et petit commit
nikita@nikita-rack
parents: 65
diff changeset
   135
    }
cc06de2dfff0 test de merge et petit commit
nikita@nikita-rack
parents: 65
diff changeset
   136
cc06de2dfff0 test de merge et petit commit
nikita@nikita-rack
parents: 65
diff changeset
   137
    /**
cc06de2dfff0 test de merge et petit commit
nikita@nikita-rack
parents: 65
diff changeset
   138
     * {@inheritDoc}
cc06de2dfff0 test de merge et petit commit
nikita@nikita-rack
parents: 65
diff changeset
   139
     */
cc06de2dfff0 test de merge et petit commit
nikita@nikita-rack
parents: 65
diff changeset
   140
    @Override
cc06de2dfff0 test de merge et petit commit
nikita@nikita-rack
parents: 65
diff changeset
   141
    public int describeContents() {
cc06de2dfff0 test de merge et petit commit
nikita@nikita-rack
parents: 65
diff changeset
   142
	// TODO Auto-generated method stub
cc06de2dfff0 test de merge et petit commit
nikita@nikita-rack
parents: 65
diff changeset
   143
	return 0;
cc06de2dfff0 test de merge et petit commit
nikita@nikita-rack
parents: 65
diff changeset
   144
    }
cc06de2dfff0 test de merge et petit commit
nikita@nikita-rack
parents: 65
diff changeset
   145
cc06de2dfff0 test de merge et petit commit
nikita@nikita-rack
parents: 65
diff changeset
   146
    /**
224
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   147
     * Get the groups the contact is in.
212
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
   148
     * @return the mGroups
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
   149
     */
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
   150
    public List<String> getGroups() {
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
   151
	return mGroups;
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
   152
    }
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
   153
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
   154
    /**
80
29f0d6a23321 Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents: 69
diff changeset
   155
     * Get the id of the contact on the phone contact list.
69
cc06de2dfff0 test de merge et petit commit
nikita@nikita-rack
parents: 65
diff changeset
   156
     * @return the mID
cc06de2dfff0 test de merge et petit commit
nikita@nikita-rack
parents: 65
diff changeset
   157
     */
cc06de2dfff0 test de merge et petit commit
nikita@nikita-rack
parents: 65
diff changeset
   158
    public int getID() {
cc06de2dfff0 test de merge et petit commit
nikita@nikita-rack
parents: 65
diff changeset
   159
	return mID;
cc06de2dfff0 test de merge et petit commit
nikita@nikita-rack
parents: 65
diff changeset
   160
    }
cc06de2dfff0 test de merge et petit commit
nikita@nikita-rack
parents: 65
diff changeset
   161
cc06de2dfff0 test de merge et petit commit
nikita@nikita-rack
parents: 65
diff changeset
   162
    /**
212
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
   163
     * Get the Jabber ID of the contact.
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
   164
     * @return the Jabber ID
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
   165
     */
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
   166
    public String getJID() {
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
   167
	return mJID;
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
   168
    }
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
   169
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
   170
    /**
224
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   171
     * Get the list of resource for the contact.
212
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
   172
     * @return the mRes
69
cc06de2dfff0 test de merge et petit commit
nikita@nikita-rack
parents: 65
diff changeset
   173
     */
212
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
   174
    public List<String> getMRes() {
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
   175
	return mRes;
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
   176
    }
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
   177
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
   178
    /**
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
   179
     * Get the message status of the contact.
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
   180
     * @return the message status of the contact.
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
   181
     */
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
   182
    public String getMsgState() {
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
   183
	return mMsgState;
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
   184
    }
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
   185
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
   186
    /**
349
84d45a88699f Checkstyle rules
darisk@kaaliyah
parents: 342
diff changeset
   187
     * Get the name of the contact.
212
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
   188
     * @return the mName
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
   189
     */
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
   190
    public String getName() {
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
   191
	return mName;
69
cc06de2dfff0 test de merge et petit commit
nikita@nikita-rack
parents: 65
diff changeset
   192
    }
cc06de2dfff0 test de merge et petit commit
nikita@nikita-rack
parents: 65
diff changeset
   193
cc06de2dfff0 test de merge et petit commit
nikita@nikita-rack
parents: 65
diff changeset
   194
    /**
80
29f0d6a23321 Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents: 69
diff changeset
   195
     * Get the status of the contact.
69
cc06de2dfff0 test de merge et petit commit
nikita@nikita-rack
parents: 65
diff changeset
   196
     * @return the mStatus
cc06de2dfff0 test de merge et petit commit
nikita@nikita-rack
parents: 65
diff changeset
   197
     */
cc06de2dfff0 test de merge et petit commit
nikita@nikita-rack
parents: 65
diff changeset
   198
    public int getStatus() {
cc06de2dfff0 test de merge et petit commit
nikita@nikita-rack
parents: 65
diff changeset
   199
	return mStatus;
cc06de2dfff0 test de merge et petit commit
nikita@nikita-rack
parents: 65
diff changeset
   200
    }
cc06de2dfff0 test de merge et petit commit
nikita@nikita-rack
parents: 65
diff changeset
   201
cc06de2dfff0 test de merge et petit commit
nikita@nikita-rack
parents: 65
diff changeset
   202
    /**
224
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   203
     * Set the groups the contact is in.
279
af993bc754a5 Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents: 271
diff changeset
   204
     * @param groups
af993bc754a5 Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents: 271
diff changeset
   205
     *            list of groups
224
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   206
     */
212
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
   207
    public void setGroups(Collection<RosterGroup> groups) {
224
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   208
	this.mGroups.clear();
212
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
   209
	for (RosterGroup rosterGroup : groups) {
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
   210
	    mGroups.add(rosterGroup.getName());
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
   211
	}
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
   212
    }
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
   213
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
   214
    /**
224
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   215
     * Set the groups the contact is in.
342
2b489d4a7917 Some checkstyle rules
darisk@kaaliyah
parents: 308
diff changeset
   216
     * @param groups
279
af993bc754a5 Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents: 271
diff changeset
   217
     *            the mGroups to set
212
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
   218
     */
342
2b489d4a7917 Some checkstyle rules
darisk@kaaliyah
parents: 308
diff changeset
   219
    public void setGroups(List<String> groups) {
2b489d4a7917 Some checkstyle rules
darisk@kaaliyah
parents: 308
diff changeset
   220
	this.mGroups = groups;
212
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
   221
    }
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
   222
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
   223
    /**
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
   224
     * set the id of te contact on the phone contact list.
279
af993bc754a5 Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents: 271
diff changeset
   225
     * @param mid
af993bc754a5 Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents: 271
diff changeset
   226
     *            the mID to set
212
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
   227
     */
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
   228
    public void setID(int mid) {
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
   229
	mID = mid;
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
   230
    }
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
   231
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
   232
    /**
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
   233
     * Set the Jabber ID of the contact.
279
af993bc754a5 Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents: 271
diff changeset
   234
     * @param jid
af993bc754a5 Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents: 271
diff changeset
   235
     *            the jabber ID to set
212
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
   236
     */
224
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   237
    public void setJID(String jid) {
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   238
	mJID = jid;
212
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
   239
    }
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
   240
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
   241
    /**
224
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   242
     * Set a list of resource for the contact.
279
af993bc754a5 Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents: 271
diff changeset
   243
     * @param mRes
af993bc754a5 Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents: 271
diff changeset
   244
     *            the mRes to set
212
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
   245
     */
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
   246
    public void setMRes(List<String> mRes) {
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
   247
	this.mRes = mRes;
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
   248
    }
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
   249
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
   250
    /**
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
   251
     * Set the message status of the contact.
279
af993bc754a5 Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents: 271
diff changeset
   252
     * @param msgState
af993bc754a5 Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents: 271
diff changeset
   253
     *            the message status of the contact to set
212
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
   254
     */
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
   255
    public void setMsgState(String msgState) {
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
   256
	mMsgState = msgState;
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
   257
    }
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
   258
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
   259
    /**
349
84d45a88699f Checkstyle rules
darisk@kaaliyah
parents: 342
diff changeset
   260
     * Set the name of the contact.
342
2b489d4a7917 Some checkstyle rules
darisk@kaaliyah
parents: 308
diff changeset
   261
     * @param name
279
af993bc754a5 Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents: 271
diff changeset
   262
     *            the mName to set
212
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
   263
     */
342
2b489d4a7917 Some checkstyle rules
darisk@kaaliyah
parents: 308
diff changeset
   264
    public void setName(String name) {
2b489d4a7917 Some checkstyle rules
darisk@kaaliyah
parents: 308
diff changeset
   265
	if (name != null)
2b489d4a7917 Some checkstyle rules
darisk@kaaliyah
parents: 308
diff changeset
   266
	    this.mName = name;
212
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
   267
    }
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
   268
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 209
diff changeset
   269
    /**
80
29f0d6a23321 Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents: 69
diff changeset
   270
     * Set the status of the contact.
279
af993bc754a5 Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents: 271
diff changeset
   271
     * @param status
af993bc754a5 Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents: 271
diff changeset
   272
     *            the mStatus to set
69
cc06de2dfff0 test de merge et petit commit
nikita@nikita-rack
parents: 65
diff changeset
   273
     */
cc06de2dfff0 test de merge et petit commit
nikita@nikita-rack
parents: 65
diff changeset
   274
    public void setStatus(int status) {
cc06de2dfff0 test de merge et petit commit
nikita@nikita-rack
parents: 65
diff changeset
   275
	mStatus = status;
cc06de2dfff0 test de merge et petit commit
nikita@nikita-rack
parents: 65
diff changeset
   276
    }
cc06de2dfff0 test de merge et petit commit
nikita@nikita-rack
parents: 65
diff changeset
   277
cc06de2dfff0 test de merge et petit commit
nikita@nikita-rack
parents: 65
diff changeset
   278
    /**
80
29f0d6a23321 Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents: 69
diff changeset
   279
     * Set the status of the contact using a presence packet.
279
af993bc754a5 Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents: 271
diff changeset
   280
     * @param presence
af993bc754a5 Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents: 271
diff changeset
   281
     *            the presence containing status
69
cc06de2dfff0 test de merge et petit commit
nikita@nikita-rack
parents: 65
diff changeset
   282
     */
cc06de2dfff0 test de merge et petit commit
nikita@nikita-rack
parents: 65
diff changeset
   283
    public void setStatus(Presence presence) {
106
a9bc9297dff7 Amelioration de la methode change status.
Da Risk <darisk972@gmail.com>
parents: 96
diff changeset
   284
	mStatus = Status.getStatusFromPresence(presence);
184
e9d73490be9b Ajout du message d'etat dans la contact list
marseille
parents: 183
diff changeset
   285
	mMsgState = presence.getStatus();
69
cc06de2dfff0 test de merge et petit commit
nikita@nikita-rack
parents: 65
diff changeset
   286
    }
222
f72be51936d5 Utilisation de setData() dans les pour passer un contact aux Intent
Da Risk <darisk972@gmail.com>
parents: 191
diff changeset
   287
223
bb656974bab1 Some javadocs
Da Risk <darisk972@gmail.com>
parents: 222
diff changeset
   288
    /**
bb656974bab1 Some javadocs
Da Risk <darisk972@gmail.com>
parents: 222
diff changeset
   289
     * Set status for the contact.
279
af993bc754a5 Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents: 271
diff changeset
   290
     * @param presence
af993bc754a5 Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents: 271
diff changeset
   291
     *            The presence packet which contains the status
223
bb656974bab1 Some javadocs
Da Risk <darisk972@gmail.com>
parents: 222
diff changeset
   292
     */
191
cc21283865ad La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents: 184
diff changeset
   293
    public void setStatus(PresenceAdapter presence) {
cc21283865ad La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents: 184
diff changeset
   294
	mStatus = presence.getStatus();
cc21283865ad La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents: 184
diff changeset
   295
	mMsgState = presence.getStatusText();
222
f72be51936d5 Utilisation de setData() dans les pour passer un contact aux Intent
Da Risk <darisk972@gmail.com>
parents: 191
diff changeset
   296
191
cc21283865ad La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents: 184
diff changeset
   297
    }
38
3e76846c48a9 We can now get the contact list of the user.
Da Risk <darisk972@gmail.com>
parents:
diff changeset
   298
69
cc06de2dfff0 test de merge et petit commit
nikita@nikita-rack
parents: 65
diff changeset
   299
    /**
223
bb656974bab1 Some javadocs
Da Risk <darisk972@gmail.com>
parents: 222
diff changeset
   300
     * {@inheritDoc}
bb656974bab1 Some javadocs
Da Risk <darisk972@gmail.com>
parents: 222
diff changeset
   301
     */
118
8bbe46055004 fix some bugs. When you receive a new chat, a notification appears.
Da Risk <darisk972@gmail.com>
parents: 108
diff changeset
   302
    @Override
8bbe46055004 fix some bugs. When you receive a new chat, a notification appears.
Da Risk <darisk972@gmail.com>
parents: 108
diff changeset
   303
    public String toString() {
8bbe46055004 fix some bugs. When you receive a new chat, a notification appears.
Da Risk <darisk972@gmail.com>
parents: 108
diff changeset
   304
	if (mJID != null)
8bbe46055004 fix some bugs. When you receive a new chat, a notification appears.
Da Risk <darisk972@gmail.com>
parents: 108
diff changeset
   305
	    return mJID;
8bbe46055004 fix some bugs. When you receive a new chat, a notification appears.
Da Risk <darisk972@gmail.com>
parents: 108
diff changeset
   306
	return super.toString();
8bbe46055004 fix some bugs. When you receive a new chat, a notification appears.
Da Risk <darisk972@gmail.com>
parents: 108
diff changeset
   307
    }
180
d77ea17eea3a ajout des groupes dans ContactAdapter.java
nikita@nikita-rack
parents: 155
diff changeset
   308
223
bb656974bab1 Some javadocs
Da Risk <darisk972@gmail.com>
parents: 222
diff changeset
   309
    /**
bb656974bab1 Some javadocs
Da Risk <darisk972@gmail.com>
parents: 222
diff changeset
   310
     * Get a URI to access the contact.
bb656974bab1 Some javadocs
Da Risk <darisk972@gmail.com>
parents: 222
diff changeset
   311
     * @return the URI
bb656974bab1 Some javadocs
Da Risk <darisk972@gmail.com>
parents: 222
diff changeset
   312
     */
222
f72be51936d5 Utilisation de setData() dans les pour passer un contact aux Intent
Da Risk <darisk972@gmail.com>
parents: 191
diff changeset
   313
    public Uri toUri() {
f72be51936d5 Utilisation de setData() dans les pour passer un contact aux Intent
Da Risk <darisk972@gmail.com>
parents: 191
diff changeset
   314
	StringBuilder build = new StringBuilder("xmpp:");
298
ffffa9b4428c Some fixes
Da Risk <darisk972@gmail.com>
parents: 279
diff changeset
   315
	String name = StringUtils.parseName(mJID);
ffffa9b4428c Some fixes
Da Risk <darisk972@gmail.com>
parents: 279
diff changeset
   316
	build.append(name);
342
2b489d4a7917 Some checkstyle rules
darisk@kaaliyah
parents: 308
diff changeset
   317
	if (!"".equals(name))
298
ffffa9b4428c Some fixes
Da Risk <darisk972@gmail.com>
parents: 279
diff changeset
   318
	    build.append('@');
ffffa9b4428c Some fixes
Da Risk <darisk972@gmail.com>
parents: 279
diff changeset
   319
	build.append(StringUtils.parseServer(mJID));
222
f72be51936d5 Utilisation de setData() dans les pour passer un contact aux Intent
Da Risk <darisk972@gmail.com>
parents: 191
diff changeset
   320
	Uri u = Uri.parse(build.toString());
f72be51936d5 Utilisation de setData() dans les pour passer un contact aux Intent
Da Risk <darisk972@gmail.com>
parents: 191
diff changeset
   321
	return u;
f72be51936d5 Utilisation de setData() dans les pour passer un contact aux Intent
Da Risk <darisk972@gmail.com>
parents: 191
diff changeset
   322
    }
223
bb656974bab1 Some javadocs
Da Risk <darisk972@gmail.com>
parents: 222
diff changeset
   323
224
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   324
    /**
69
cc06de2dfff0 test de merge et petit commit
nikita@nikita-rack
parents: 65
diff changeset
   325
     * {@inheritDoc}
cc06de2dfff0 test de merge et petit commit
nikita@nikita-rack
parents: 65
diff changeset
   326
     */
cc06de2dfff0 test de merge et petit commit
nikita@nikita-rack
parents: 65
diff changeset
   327
    @Override
cc06de2dfff0 test de merge et petit commit
nikita@nikita-rack
parents: 65
diff changeset
   328
    public void writeToParcel(Parcel dest, int flags) {
cc06de2dfff0 test de merge et petit commit
nikita@nikita-rack
parents: 65
diff changeset
   329
	dest.writeInt(mID);
cc06de2dfff0 test de merge et petit commit
nikita@nikita-rack
parents: 65
diff changeset
   330
	dest.writeInt(mStatus);
cc06de2dfff0 test de merge et petit commit
nikita@nikita-rack
parents: 65
diff changeset
   331
	dest.writeString(mJID);
209
f5b9da8365f5 Mise en place des alias
marseille@marseille-desktop
parents: 191
diff changeset
   332
	dest.writeString(mName);
69
cc06de2dfff0 test de merge et petit commit
nikita@nikita-rack
parents: 65
diff changeset
   333
	dest.writeString(mMsgState);
cc06de2dfff0 test de merge et petit commit
nikita@nikita-rack
parents: 65
diff changeset
   334
	dest.writeStringList(getMRes());
180
d77ea17eea3a ajout des groupes dans ContactAdapter.java
nikita@nikita-rack
parents: 155
diff changeset
   335
	dest.writeStringList(getGroups());
69
cc06de2dfff0 test de merge et petit commit
nikita@nikita-rack
parents: 65
diff changeset
   336
    }
224
d8e2cb1eb895 Merge avec la branche xmpp pour obtenir le basculement des conversations
Da Risk <darisk972@gmail.com>
parents: 212 223
diff changeset
   337
38
3e76846c48a9 We can now get the contact list of the user.
Da Risk <darisk972@gmail.com>
parents:
diff changeset
   338
}