blob: 5086952bef8ff5e336f49a1fa91bf0d91420bf85 [file] [log] [blame]
Alexandre Lision933ef0a2013-10-15 17:28:40 -04001package org.sflphone.model;
2
Alexandre Lision933ef0a2013-10-15 17:28:40 -04003import org.sflphone.service.StringVect;
4
5import android.os.Parcel;
6import android.os.Parcelable;
7
8public class Codec implements Parcelable {
9 int payload;
10 String name;
11 String sampleRate;
12 String bitRate;
13 String channels;
Alexandre Lision4df961d2013-10-16 13:44:49 -040014 boolean enabled;
Alexandre Lision933ef0a2013-10-15 17:28:40 -040015
Alexandre Lision4df961d2013-10-16 13:44:49 -040016 public Codec(int i, StringVect audioCodecDetails, boolean b) {
Alexandre Lision933ef0a2013-10-15 17:28:40 -040017 payload = i;
18 name = audioCodecDetails.get(0);
19 sampleRate = audioCodecDetails.get(1);
20 bitRate = audioCodecDetails.get(2);
21 channels = audioCodecDetails.get(3);
Alexandre Lision4df961d2013-10-16 13:44:49 -040022 enabled = b;
Alexandre Lision933ef0a2013-10-15 17:28:40 -040023 }
24
25 @Override
26 public int describeContents() {
27 return 0;
28 }
29
30 @Override
31 public void writeToParcel(Parcel out, int flags) {
32 out.writeInt(payload);
33 out.writeString(name);
34 out.writeString(sampleRate);
35 out.writeString(bitRate);
36 out.writeString(channels);
Alexandre Lision4df961d2013-10-16 13:44:49 -040037 out.writeByte((byte) (enabled ? 1 : 0));
Alexandre Lision933ef0a2013-10-15 17:28:40 -040038 }
39
40 public static final Parcelable.Creator<Codec> CREATOR = new Parcelable.Creator<Codec>() {
41 public Codec createFromParcel(Parcel in) {
42 return new Codec(in);
43 }
44
45 public Codec[] newArray(int size) {
46 return new Codec[size];
47 }
48 };
49
50 private Codec(Parcel in) {
51 payload = in.readInt();
52 name = in.readString();
53 sampleRate = in.readString();
54 bitRate = in.readString();
55 channels = in.readString();
Alexandre Lision4df961d2013-10-16 13:44:49 -040056 enabled = in.readByte() == 1 ? true : false;
Alexandre Lision933ef0a2013-10-15 17:28:40 -040057 }
58
Alexandre Lision4b4233a2013-10-16 17:24:17 -040059 public Codec(Codec c) {
60 payload = c.payload;
61 name = c.name;
62 sampleRate = c.sampleRate;
63 bitRate = c.bitRate;
64 channels = c.channels;
65 enabled = c.enabled;
66 }
67
Alexandre Lision933ef0a2013-10-15 17:28:40 -040068 @Override
69 public String toString() {
70 String str = "Codec: " + name + "\n" + "Payload: " + payload + "\n" + "Sample Rate: " + sampleRate + "\n" + "Bit Rate: " + bitRate + "\n"
71 + "Channels: " + channels;
72 return str;
73 }
74
75 public CharSequence getPayload() {
76 return Integer.toString(payload);
77 }
78
79 public CharSequence getName() {
80 return name;
81 }
82
83 public String getSampleRate() {
84 return sampleRate;
85 }
86
87 public String getBitRate() {
88 return bitRate;
89 }
90
91 public String getChannels() {
92 return channels;
93 }
94
Alexandre Lision4df961d2013-10-16 13:44:49 -040095 public boolean isEnabled() {
96 return enabled;
97 }
98
99 public void setEnabled(boolean b) {
100 enabled = b;
101 }
102
Alexandre Lision4b4233a2013-10-16 17:24:17 -0400103 public void toggleState() {
104 enabled = !enabled;
105
106 }
107
108 @Override
109 public boolean equals(Object o){
110 if(o instanceof Codec && ((Codec) o).payload == payload)
111 return true;
112 return false;
113 }
114
Alexandre Lision933ef0a2013-10-15 17:28:40 -0400115}