1e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon/* 2e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon * Copyright 2014, The Android Open Source Project 3e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon * 4e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon * Licensed under the Apache License, Version 2.0 (the "License"); 5e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon * you may not use this file except in compliance with the License. 6e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon * You may obtain a copy of the License at 7e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon * 8e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon * http://www.apache.org/licenses/LICENSE-2.0 9e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon * 10e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon * Unless required by applicable law or agreed to in writing, software 11e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon * distributed under the License is distributed on an "AS IS" BASIS, 12e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon * See the License for the specific language governing permissions and 14e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon * limitations under the License. 15e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon */ 16e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon 17ef9f6f957d897ea0ed82114185b8fa3fefd4917bTyler Gunnpackage android.telecom; 18e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon 19e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordonimport android.net.Uri; 206b7f955c2d9b231660b8c54f8ef8e8e6ad802625Santos Cordonimport android.os.Bundle; 21e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordonimport android.os.Parcel; 22e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordonimport android.os.Parcelable; 23e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon 24ef9f6f957d897ea0ed82114185b8fa3fefd4917bTyler Gunnimport com.android.internal.telecom.IVideoProvider; 25e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon 26b8e85c74e5910a461078704048d67f82b216508cIhab Awadimport java.util.ArrayList; 27b8e85c74e5910a461078704048d67f82b216508cIhab Awadimport java.util.List; 28b8e85c74e5910a461078704048d67f82b216508cIhab Awad 29e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon/** 30ef9f6f957d897ea0ed82114185b8fa3fefd4917bTyler Gunn * Information about a connection that is used between Telecom and the ConnectionService. 31ef9f6f957d897ea0ed82114185b8fa3fefd4917bTyler Gunn * This is used to send initial Connection information to Telecom when the connection is 32e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon * first created. 33e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon * @hide 34e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon */ 35e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordonpublic final class ParcelableConnection implements Parcelable { 36b8e85c74e5910a461078704048d67f82b216508cIhab Awad private final PhoneAccountHandle mPhoneAccount; 37b8e85c74e5910a461078704048d67f82b216508cIhab Awad private final int mState; 385c9c86ec0f95d1f5e1aca212967f508fc736b895Ihab Awad private final int mConnectionCapabilities; 39100e293fa8021caed956597daa4e01cb19be1c33Andrew Lee private final Uri mAddress; 40100e293fa8021caed956597daa4e01cb19be1c33Andrew Lee private final int mAddressPresentation; 41b8e85c74e5910a461078704048d67f82b216508cIhab Awad private final String mCallerDisplayName; 42b8e85c74e5910a461078704048d67f82b216508cIhab Awad private final int mCallerDisplayNamePresentation; 43b8e85c74e5910a461078704048d67f82b216508cIhab Awad private final IVideoProvider mVideoProvider; 44b8e85c74e5910a461078704048d67f82b216508cIhab Awad private final int mVideoState; 45100e293fa8021caed956597daa4e01cb19be1c33Andrew Lee private final boolean mRingbackRequested; 46100e293fa8021caed956597daa4e01cb19be1c33Andrew Lee private final boolean mIsVoipAudioMode; 47e927ec02f5bbad925d5f28cbe370a04aa118f370Roshan Pius private final long mConnectTimeMillis; 48b8e85c74e5910a461078704048d67f82b216508cIhab Awad private final StatusHints mStatusHints; 497f3d41fd124dd7c4a8b72c1d48df08a8ee7209ecAndrew Lee private final DisconnectCause mDisconnectCause; 50b8e85c74e5910a461078704048d67f82b216508cIhab Awad private final List<String> mConferenceableConnectionIds; 516b7f955c2d9b231660b8c54f8ef8e8e6ad802625Santos Cordon private final Bundle mExtras; 52e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon 53e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon /** @hide */ 54e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon public ParcelableConnection( 55e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon PhoneAccountHandle phoneAccount, 56e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon int state, 57e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon int capabilities, 58100e293fa8021caed956597daa4e01cb19be1c33Andrew Lee Uri address, 59100e293fa8021caed956597daa4e01cb19be1c33Andrew Lee int addressPresentation, 60e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon String callerDisplayName, 61e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon int callerDisplayNamePresentation, 62b19a0bcdd8a5020c61a0d697f600fdc943c86f59Ihab Awad IVideoProvider videoProvider, 638b9d3ca94189b183a2380ba5b289d9a06eb0493eSailesh Nepal int videoState, 64100e293fa8021caed956597daa4e01cb19be1c33Andrew Lee boolean ringbackRequested, 65100e293fa8021caed956597daa4e01cb19be1c33Andrew Lee boolean isVoipAudioMode, 66e927ec02f5bbad925d5f28cbe370a04aa118f370Roshan Pius long connectTimeMillis, 676107bab041fb7d851fbf865b7310d294aae970c8Ihab Awad StatusHints statusHints, 687f3d41fd124dd7c4a8b72c1d48df08a8ee7209ecAndrew Lee DisconnectCause disconnectCause, 696b7f955c2d9b231660b8c54f8ef8e8e6ad802625Santos Cordon List<String> conferenceableConnectionIds, 706b7f955c2d9b231660b8c54f8ef8e8e6ad802625Santos Cordon Bundle extras) { 71e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon mPhoneAccount = phoneAccount; 72e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon mState = state; 735c9c86ec0f95d1f5e1aca212967f508fc736b895Ihab Awad mConnectionCapabilities = capabilities; 74100e293fa8021caed956597daa4e01cb19be1c33Andrew Lee mAddress = address; 75100e293fa8021caed956597daa4e01cb19be1c33Andrew Lee mAddressPresentation = addressPresentation; 76e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon mCallerDisplayName = callerDisplayName; 77e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon mCallerDisplayNamePresentation = callerDisplayNamePresentation; 78b19a0bcdd8a5020c61a0d697f600fdc943c86f59Ihab Awad mVideoProvider = videoProvider; 79e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon mVideoState = videoState; 80100e293fa8021caed956597daa4e01cb19be1c33Andrew Lee mRingbackRequested = ringbackRequested; 81100e293fa8021caed956597daa4e01cb19be1c33Andrew Lee mIsVoipAudioMode = isVoipAudioMode; 82e927ec02f5bbad925d5f28cbe370a04aa118f370Roshan Pius mConnectTimeMillis = connectTimeMillis; 838b9d3ca94189b183a2380ba5b289d9a06eb0493eSailesh Nepal mStatusHints = statusHints; 84cf7020b7e84c1f5190db7167d70cb0675cd3332fSailesh Nepal mDisconnectCause = disconnectCause; 856b7f955c2d9b231660b8c54f8ef8e8e6ad802625Santos Cordon mConferenceableConnectionIds = conferenceableConnectionIds; 866b7f955c2d9b231660b8c54f8ef8e8e6ad802625Santos Cordon mExtras = extras; 87e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon } 88e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon 89e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon public PhoneAccountHandle getPhoneAccount() { 90e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon return mPhoneAccount; 91e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon } 92e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon 93e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon public int getState() { 94e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon return mState; 95e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon } 96e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon 97e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon // Bit mask of actions a call supports, values are defined in {@link CallCapabilities}. 985c9c86ec0f95d1f5e1aca212967f508fc736b895Ihab Awad public int getConnectionCapabilities() { 995c9c86ec0f95d1f5e1aca212967f508fc736b895Ihab Awad return mConnectionCapabilities; 100e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon } 101e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon 102e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon public Uri getHandle() { 103100e293fa8021caed956597daa4e01cb19be1c33Andrew Lee return mAddress; 104e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon } 105e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon 106e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon public int getHandlePresentation() { 107100e293fa8021caed956597daa4e01cb19be1c33Andrew Lee return mAddressPresentation; 108e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon } 109e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon 110e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon public String getCallerDisplayName() { 111e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon return mCallerDisplayName; 112e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon } 113e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon 114e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon public int getCallerDisplayNamePresentation() { 115e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon return mCallerDisplayNamePresentation; 116e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon } 117e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon 118b19a0bcdd8a5020c61a0d697f600fdc943c86f59Ihab Awad public IVideoProvider getVideoProvider() { 119b19a0bcdd8a5020c61a0d697f600fdc943c86f59Ihab Awad return mVideoProvider; 120e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon } 121e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon 122e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon public int getVideoState() { 123e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon return mVideoState; 124e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon } 125e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon 126100e293fa8021caed956597daa4e01cb19be1c33Andrew Lee public boolean isRingbackRequested() { 127100e293fa8021caed956597daa4e01cb19be1c33Andrew Lee return mRingbackRequested; 1288b9d3ca94189b183a2380ba5b289d9a06eb0493eSailesh Nepal } 1298b9d3ca94189b183a2380ba5b289d9a06eb0493eSailesh Nepal 130100e293fa8021caed956597daa4e01cb19be1c33Andrew Lee public boolean getIsVoipAudioMode() { 131100e293fa8021caed956597daa4e01cb19be1c33Andrew Lee return mIsVoipAudioMode; 1328b9d3ca94189b183a2380ba5b289d9a06eb0493eSailesh Nepal } 1338b9d3ca94189b183a2380ba5b289d9a06eb0493eSailesh Nepal 134e927ec02f5bbad925d5f28cbe370a04aa118f370Roshan Pius public long getConnectTimeMillis() { 135e927ec02f5bbad925d5f28cbe370a04aa118f370Roshan Pius return mConnectTimeMillis; 136e927ec02f5bbad925d5f28cbe370a04aa118f370Roshan Pius } 137e927ec02f5bbad925d5f28cbe370a04aa118f370Roshan Pius 1388b9d3ca94189b183a2380ba5b289d9a06eb0493eSailesh Nepal public final StatusHints getStatusHints() { 1398b9d3ca94189b183a2380ba5b289d9a06eb0493eSailesh Nepal return mStatusHints; 1408b9d3ca94189b183a2380ba5b289d9a06eb0493eSailesh Nepal } 1418b9d3ca94189b183a2380ba5b289d9a06eb0493eSailesh Nepal 1427f3d41fd124dd7c4a8b72c1d48df08a8ee7209ecAndrew Lee public final DisconnectCause getDisconnectCause() { 143cf7020b7e84c1f5190db7167d70cb0675cd3332fSailesh Nepal return mDisconnectCause; 1446107bab041fb7d851fbf865b7310d294aae970c8Ihab Awad } 1456107bab041fb7d851fbf865b7310d294aae970c8Ihab Awad 146b8e85c74e5910a461078704048d67f82b216508cIhab Awad public final List<String> getConferenceableConnectionIds() { 147b8e85c74e5910a461078704048d67f82b216508cIhab Awad return mConferenceableConnectionIds; 148b8e85c74e5910a461078704048d67f82b216508cIhab Awad } 149b8e85c74e5910a461078704048d67f82b216508cIhab Awad 1506b7f955c2d9b231660b8c54f8ef8e8e6ad802625Santos Cordon public final Bundle getExtras() { 1516b7f955c2d9b231660b8c54f8ef8e8e6ad802625Santos Cordon return mExtras; 1526b7f955c2d9b231660b8c54f8ef8e8e6ad802625Santos Cordon } 1536b7f955c2d9b231660b8c54f8ef8e8e6ad802625Santos Cordon 1547c7bc7f6917484250974c5da00af9ef756844b0aSantos Cordon @Override 1557c7bc7f6917484250974c5da00af9ef756844b0aSantos Cordon public String toString() { 1567c7bc7f6917484250974c5da00af9ef756844b0aSantos Cordon return new StringBuilder() 1577c7bc7f6917484250974c5da00af9ef756844b0aSantos Cordon .append("ParcelableConnection [act:") 1587c7bc7f6917484250974c5da00af9ef756844b0aSantos Cordon .append(mPhoneAccount) 1596b7f955c2d9b231660b8c54f8ef8e8e6ad802625Santos Cordon .append("], state:") 1607c7bc7f6917484250974c5da00af9ef756844b0aSantos Cordon .append(mState) 1617c7bc7f6917484250974c5da00af9ef756844b0aSantos Cordon .append(", capabilities:") 1625c9c86ec0f95d1f5e1aca212967f508fc736b895Ihab Awad .append(Connection.capabilitiesToString(mConnectionCapabilities)) 1636b7f955c2d9b231660b8c54f8ef8e8e6ad802625Santos Cordon .append(", extras:") 1646b7f955c2d9b231660b8c54f8ef8e8e6ad802625Santos Cordon .append(mExtras) 1657c7bc7f6917484250974c5da00af9ef756844b0aSantos Cordon .toString(); 1667c7bc7f6917484250974c5da00af9ef756844b0aSantos Cordon } 1677c7bc7f6917484250974c5da00af9ef756844b0aSantos Cordon 168e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon public static final Parcelable.Creator<ParcelableConnection> CREATOR = 169e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon new Parcelable.Creator<ParcelableConnection> () { 170e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon @Override 171e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon public ParcelableConnection createFromParcel(Parcel source) { 172e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon ClassLoader classLoader = ParcelableConnection.class.getClassLoader(); 173e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon 174e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon PhoneAccountHandle phoneAccount = source.readParcelable(classLoader); 175e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon int state = source.readInt(); 176e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon int capabilities = source.readInt(); 177100e293fa8021caed956597daa4e01cb19be1c33Andrew Lee Uri address = source.readParcelable(classLoader); 178100e293fa8021caed956597daa4e01cb19be1c33Andrew Lee int addressPresentation = source.readInt(); 179e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon String callerDisplayName = source.readString(); 180e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon int callerDisplayNamePresentation = source.readInt(); 181b19a0bcdd8a5020c61a0d697f600fdc943c86f59Ihab Awad IVideoProvider videoCallProvider = 182b19a0bcdd8a5020c61a0d697f600fdc943c86f59Ihab Awad IVideoProvider.Stub.asInterface(source.readStrongBinder()); 183e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon int videoState = source.readInt(); 184100e293fa8021caed956597daa4e01cb19be1c33Andrew Lee boolean ringbackRequested = source.readByte() == 1; 1858b9d3ca94189b183a2380ba5b289d9a06eb0493eSailesh Nepal boolean audioModeIsVoip = source.readByte() == 1; 186e927ec02f5bbad925d5f28cbe370a04aa118f370Roshan Pius long connectTimeMillis = source.readLong(); 1878b9d3ca94189b183a2380ba5b289d9a06eb0493eSailesh Nepal StatusHints statusHints = source.readParcelable(classLoader); 1887f3d41fd124dd7c4a8b72c1d48df08a8ee7209ecAndrew Lee DisconnectCause disconnectCause = source.readParcelable(classLoader); 189b8e85c74e5910a461078704048d67f82b216508cIhab Awad List<String> conferenceableConnectionIds = new ArrayList<>(); 190b8e85c74e5910a461078704048d67f82b216508cIhab Awad source.readStringList(conferenceableConnectionIds); 1916b7f955c2d9b231660b8c54f8ef8e8e6ad802625Santos Cordon Bundle extras = source.readBundle(classLoader); 192e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon 193e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon return new ParcelableConnection( 194e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon phoneAccount, 195e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon state, 196e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon capabilities, 197100e293fa8021caed956597daa4e01cb19be1c33Andrew Lee address, 198100e293fa8021caed956597daa4e01cb19be1c33Andrew Lee addressPresentation, 199e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon callerDisplayName, 200e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon callerDisplayNamePresentation, 20150aca23bd7f51a3cf32a1f7e32238cc1e26ca1a0Andrew Lee videoCallProvider, 2028b9d3ca94189b183a2380ba5b289d9a06eb0493eSailesh Nepal videoState, 203100e293fa8021caed956597daa4e01cb19be1c33Andrew Lee ringbackRequested, 2048b9d3ca94189b183a2380ba5b289d9a06eb0493eSailesh Nepal audioModeIsVoip, 205e927ec02f5bbad925d5f28cbe370a04aa118f370Roshan Pius connectTimeMillis, 2066107bab041fb7d851fbf865b7310d294aae970c8Ihab Awad statusHints, 2077f3d41fd124dd7c4a8b72c1d48df08a8ee7209ecAndrew Lee disconnectCause, 2086b7f955c2d9b231660b8c54f8ef8e8e6ad802625Santos Cordon conferenceableConnectionIds, 2096b7f955c2d9b231660b8c54f8ef8e8e6ad802625Santos Cordon extras); 210e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon } 211e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon 212e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon @Override 213e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon public ParcelableConnection[] newArray(int size) { 214e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon return new ParcelableConnection[size]; 215e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon } 216e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon }; 217e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon 218e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon /** {@inheritDoc} */ 219e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon @Override 220e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon public int describeContents() { 221e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon return 0; 222e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon } 223e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon 224e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon /** Writes ParcelableConnection object into a Parcel. */ 225e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon @Override 226e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon public void writeToParcel(Parcel destination, int flags) { 227e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon destination.writeParcelable(mPhoneAccount, 0); 228e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon destination.writeInt(mState); 2295c9c86ec0f95d1f5e1aca212967f508fc736b895Ihab Awad destination.writeInt(mConnectionCapabilities); 230100e293fa8021caed956597daa4e01cb19be1c33Andrew Lee destination.writeParcelable(mAddress, 0); 231100e293fa8021caed956597daa4e01cb19be1c33Andrew Lee destination.writeInt(mAddressPresentation); 232e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon destination.writeString(mCallerDisplayName); 233e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon destination.writeInt(mCallerDisplayNamePresentation); 234e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon destination.writeStrongBinder( 235b19a0bcdd8a5020c61a0d697f600fdc943c86f59Ihab Awad mVideoProvider != null ? mVideoProvider.asBinder() : null); 236e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon destination.writeInt(mVideoState); 237100e293fa8021caed956597daa4e01cb19be1c33Andrew Lee destination.writeByte((byte) (mRingbackRequested ? 1 : 0)); 238100e293fa8021caed956597daa4e01cb19be1c33Andrew Lee destination.writeByte((byte) (mIsVoipAudioMode ? 1 : 0)); 239e927ec02f5bbad925d5f28cbe370a04aa118f370Roshan Pius destination.writeLong(mConnectTimeMillis); 2408b9d3ca94189b183a2380ba5b289d9a06eb0493eSailesh Nepal destination.writeParcelable(mStatusHints, 0); 2417f3d41fd124dd7c4a8b72c1d48df08a8ee7209ecAndrew Lee destination.writeParcelable(mDisconnectCause, 0); 242b8e85c74e5910a461078704048d67f82b216508cIhab Awad destination.writeStringList(mConferenceableConnectionIds); 2436b7f955c2d9b231660b8c54f8ef8e8e6ad802625Santos Cordon destination.writeBundle(mExtras); 244e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon } 245e8dc4bef00e391defbdee0264b2ed955b1117841Santos Cordon} 246