* #25268 Faster contact list loading
* #26286 conference creation/suppression working
diff --git a/src/com/savoirfairelinux/sflphone/model/Conference.java b/src/com/savoirfairelinux/sflphone/model/Conference.java
index f7578f7..26ddf63 100644
--- a/src/com/savoirfairelinux/sflphone/model/Conference.java
+++ b/src/com/savoirfairelinux/sflphone/model/Conference.java
@@ -1,31 +1,98 @@
package com.savoirfairelinux.sflphone.model;
import java.util.ArrayList;
+import java.util.HashMap;
-public class Conference {
-
- private long id;
+import android.os.Parcel;
+import android.os.Parcelable;
+
+public class Conference implements Parcelable {
+
+ private String id;
private String state;
private ArrayList<SipCall> participants;
-
-
- public long getId() {
+
+ public interface state {
+ int ACTIVE_ATTACHED = 0;
+ int ACTIVE_DETACHED = 1;
+ int ACTIVE_ATTACHED_REC = 2;
+ int ACTIVE_DETACHED_REC = 3;
+ int HOLD = 4;
+ int HOLD_REC = 5;
+ }
+
+ @Override
+ public int describeContents() {
+ return 0;
+ }
+
+ @Override
+ public void writeToParcel(Parcel out, int flags) {
+
+ out.writeString(id);
+ out.writeString(state);
+ out.writeTypedList(participants);
+
+ }
+
+ public static final Parcelable.Creator<Conference> CREATOR = new Parcelable.Creator<Conference>() {
+ public Conference createFromParcel(Parcel in) {
+ return new Conference(in);
+ }
+
+ public Conference[] newArray(int size) {
+ return new Conference[size];
+ }
+ };
+
+ private Conference(Parcel in) {
+
+ participants = new ArrayList<SipCall>();
+ id = in.readString();
+ state = in.readString();
+ in.readTypedList(participants, SipCall.CREATOR);
+
+ }
+
+ public Conference(String cID) {
+ id = cID;
+ participants = new ArrayList<SipCall>();
+ }
+
+ public String getId() {
return id;
}
- public void setId(long id) {
+
+ public void setId(String id) {
this.id = id;
}
+
public String getState() {
return state;
}
+
public void setState(String state) {
this.state = state;
}
+
public ArrayList<SipCall> getParticipants() {
return participants;
}
- public void setParticipants(ArrayList<SipCall> participants) {
- this.participants = participants;
+
+ public boolean contains(String callID) {
+ for (int i = 0 ; i < participants.size() ; ++i){
+ if(participants.get(i).getCallId().contentEquals(callID))
+ return true;
+ }
+ return false;
+ }
+
+ public SipCall getCall(String callID) {
+ for (int i = 0 ; i < participants.size() ; ++i){
+ if(participants.get(i).getCallId().contentEquals(callID))
+ return participants.get(i);
+ }
+ return null;
}
}