You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
158 lines
4.9 KiB
158 lines
4.9 KiB
/* |
|
* Copyright (C) 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.net.Uri; |
|
import android.os.Parcel; |
|
import android.os.Parcelable; |
|
|
|
/** |
|
* Parcelable representation of a participant's state in a conference call. |
|
* @hide |
|
*/ |
|
public class ConferenceParticipant implements Parcelable { |
|
|
|
/** |
|
* The conference participant's handle (e.g., phone number). |
|
*/ |
|
private final Uri mHandle; |
|
|
|
/** |
|
* The display name for the participant. |
|
*/ |
|
private final String mDisplayName; |
|
|
|
/** |
|
* The endpoint Uri which uniquely identifies this conference participant. E.g. for an IMS |
|
* conference call, this is the endpoint URI for the participant on the IMS conference server. |
|
*/ |
|
private final Uri mEndpoint; |
|
|
|
/** |
|
* The state of the participant in the conference. |
|
* |
|
* @see android.telecom.Connection |
|
*/ |
|
private final int mState; |
|
|
|
/** |
|
* Creates an instance of {@code ConferenceParticipant}. |
|
* |
|
* @param handle The conference participant's handle (e.g., phone number). |
|
* @param displayName The display name for the participant. |
|
* @param endpoint The enpoint Uri which uniquely identifies this conference participant. |
|
* @param state The state of the participant in the conference. |
|
*/ |
|
public ConferenceParticipant(Uri handle, String displayName, Uri endpoint, int state) { |
|
mHandle = handle; |
|
mDisplayName = displayName; |
|
mEndpoint = endpoint; |
|
mState = state; |
|
} |
|
|
|
/** |
|
* Responsible for creating {@code ConferenceParticipant} objects for deserialized Parcels. |
|
*/ |
|
public static final Parcelable.Creator<ConferenceParticipant> CREATOR = |
|
new Parcelable.Creator<ConferenceParticipant>() { |
|
|
|
@Override |
|
public ConferenceParticipant createFromParcel(Parcel source) { |
|
ClassLoader classLoader = ParcelableCall.class.getClassLoader(); |
|
Uri handle = source.readParcelable(classLoader); |
|
String displayName = source.readString(); |
|
Uri endpoint = source.readParcelable(classLoader); |
|
int state = source.readInt(); |
|
return new ConferenceParticipant(handle, displayName, endpoint, state); |
|
} |
|
|
|
@Override |
|
public ConferenceParticipant[] newArray(int size) { |
|
return new ConferenceParticipant[size]; |
|
} |
|
}; |
|
|
|
@Override |
|
public int describeContents() { |
|
return 0; |
|
} |
|
|
|
/** |
|
* Writes the {@code ConferenceParticipant} to a parcel. |
|
* |
|
* @param dest The Parcel in which the object should be written. |
|
* @param flags Additional flags about how the object should be written. |
|
*/ |
|
@Override |
|
public void writeToParcel(Parcel dest, int flags) { |
|
dest.writeParcelable(mHandle, 0); |
|
dest.writeString(mDisplayName); |
|
dest.writeParcelable(mEndpoint, 0); |
|
dest.writeInt(mState); |
|
} |
|
|
|
/** |
|
* Builds a string representation of this instance. |
|
* |
|
* @return String representing the conference participant. |
|
*/ |
|
@Override |
|
public String toString() { |
|
StringBuilder sb = new StringBuilder(); |
|
sb.append("[ConferenceParticipant Handle: "); |
|
sb.append(Log.pii(mHandle)); |
|
sb.append(" DisplayName: "); |
|
sb.append(Log.pii(mDisplayName)); |
|
sb.append(" Endpoint: "); |
|
sb.append(Log.pii(mEndpoint)); |
|
sb.append(" State: "); |
|
sb.append(Connection.stateToString(mState)); |
|
sb.append("]"); |
|
return sb.toString(); |
|
} |
|
|
|
/** |
|
* The conference participant's handle (e.g., phone number). |
|
*/ |
|
public Uri getHandle() { |
|
return mHandle; |
|
} |
|
|
|
/** |
|
* The display name for the participant. |
|
*/ |
|
public String getDisplayName() { |
|
return mDisplayName; |
|
} |
|
|
|
/** |
|
* The enpoint Uri which uniquely identifies this conference participant. E.g. for an IMS |
|
* conference call, this is the endpoint URI for the participant on the IMS conference server. |
|
*/ |
|
public Uri getEndpoint() { |
|
return mEndpoint; |
|
} |
|
|
|
/** |
|
* The state of the participant in the conference. |
|
* |
|
* @see android.telecom.Connection |
|
*/ |
|
public int getState() { |
|
return mState; |
|
} |
|
}
|
|
|