summaryrefslogtreecommitdiffstats
path: root/telecomm/java/android/telecom/ParcelableConference.java
diff options
context:
space:
mode:
Diffstat (limited to 'telecomm/java/android/telecom/ParcelableConference.java')
-rw-r--r--telecomm/java/android/telecom/ParcelableConference.java111
1 files changed, 111 insertions, 0 deletions
diff --git a/telecomm/java/android/telecom/ParcelableConference.java b/telecomm/java/android/telecom/ParcelableConference.java
new file mode 100644
index 0000000..97c709c
--- /dev/null
+++ b/telecomm/java/android/telecom/ParcelableConference.java
@@ -0,0 +1,111 @@
+/*
+ * Copyright 2014, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.telecom;
+
+import android.os.Parcel;
+import android.os.Parcelable;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * A parcelable representation of a conference connection.
+ * @hide
+ */
+public final class ParcelableConference implements Parcelable {
+
+ private PhoneAccountHandle mPhoneAccount;
+ private int mState;
+ private int mCapabilities;
+ private List<String> mConnectionIds;
+
+ public ParcelableConference(
+ PhoneAccountHandle phoneAccount,
+ int state,
+ int capabilities,
+ List<String> connectionIds) {
+ mPhoneAccount = phoneAccount;
+ mState = state;
+ mCapabilities = capabilities;
+ mConnectionIds = connectionIds;
+ }
+
+ @Override
+ public String toString() {
+ return (new StringBuffer())
+ .append("account: ")
+ .append(mPhoneAccount)
+ .append(", state: ")
+ .append(Connection.stateToString(mState))
+ .append(", capabilities: ")
+ .append(PhoneCapabilities.toString(mCapabilities))
+ .append(", children: ")
+ .append(mConnectionIds)
+ .toString();
+ }
+
+ public PhoneAccountHandle getPhoneAccount() {
+ return mPhoneAccount;
+ }
+
+ public int getState() {
+ return mState;
+ }
+
+ public int getCapabilities() {
+ return mCapabilities;
+ }
+
+ public List<String> getConnectionIds() {
+ return mConnectionIds;
+ }
+
+ public static final Parcelable.Creator<ParcelableConference> CREATOR =
+ new Parcelable.Creator<ParcelableConference> () {
+ @Override
+ public ParcelableConference createFromParcel(Parcel source) {
+ ClassLoader classLoader = ParcelableConference.class.getClassLoader();
+ PhoneAccountHandle phoneAccount = source.readParcelable(classLoader);
+ int state = source.readInt();
+ int capabilities = source.readInt();
+ List<String> connectionIds = new ArrayList<>(2);
+ source.readList(connectionIds, classLoader);
+
+ return new ParcelableConference(phoneAccount, state, capabilities, connectionIds);
+ }
+
+ @Override
+ public ParcelableConference[] newArray(int size) {
+ return new ParcelableConference[size];
+ }
+ };
+
+ /** {@inheritDoc} */
+ @Override
+ public int describeContents() {
+ return 0;
+ }
+
+ /** Writes ParcelableConference object into a Parcel. */
+ @Override
+ public void writeToParcel(Parcel destination, int flags) {
+ destination.writeParcelable(mPhoneAccount, 0);
+ destination.writeInt(mState);
+ destination.writeInt(mCapabilities);
+ destination.writeList(mConnectionIds);
+ }
+}