Loading telecomm/java/android/telecom/Connection.java +20 −0 Original line number Diff line number Diff line Loading @@ -522,6 +522,26 @@ public abstract class Connection extends Conferenceable { */ public static final String EVENT_CALL_MERGE_FAILED = "android.telecom.event.CALL_MERGE_FAILED"; /** * Connection event used to inform {@link InCallService}s when the process of merging a * Connection into a conference has begun. * <p> * Sent via {@link #sendConnectionEvent(String, Bundle)}. The {@link Bundle} parameter is * expected to be null when this connection event is used. * @hide */ public static final String EVENT_MERGE_START = "android.telecom.event.MERGE_START"; /** * Connection event used to inform {@link InCallService}s when the process of merging a * Connection into a conference has completed. * <p> * Sent via {@link #sendConnectionEvent(String, Bundle)}. The {@link Bundle} parameter is * expected to be null when this connection event is used. * @hide */ public static final String EVENT_MERGE_COMPLETE = "android.telecom.event.MERGE_COMPLETE"; /** * Connection event used to inform {@link InCallService}s when a call has been put on hold by * the remote party. Loading telecomm/java/android/telecom/ConnectionService.java +20 −1 Original line number Diff line number Diff line Loading @@ -1823,10 +1823,28 @@ public abstract class ConnectionService extends Service { */ public final void addExistingConnection(PhoneAccountHandle phoneAccountHandle, Connection connection) { addExistingConnection(phoneAccountHandle, connection, null /* conference */); } /** * Adds a connection created by the {@link ConnectionService} and informs telecom of the new * connection. * * @param phoneAccountHandle The phone account handle for the connection. * @param connection The connection to add. * @param conference The parent conference of the new connection. * @hide */ public final void addExistingConnection(PhoneAccountHandle phoneAccountHandle, Connection connection, Conference conference) { String id = addExistingConnectionInternal(phoneAccountHandle, connection); if (id != null) { List<String> emptyList = new ArrayList<>(0); String conferenceId = null; if (conference != null) { conferenceId = mIdByConference.get(conference); } ParcelableConnection parcelableConnection = new ParcelableConnection( phoneAccountHandle, Loading @@ -1847,7 +1865,8 @@ public abstract class ConnectionService extends Service { connection.getStatusHints(), connection.getDisconnectCause(), emptyList, connection.getExtras()); connection.getExtras(), conferenceId); mAdapter.addExistingConnection(id, parcelableConnection); } } Loading telecomm/java/android/telecom/ParcelableConnection.java +40 −1 Original line number Diff line number Diff line Loading @@ -51,6 +51,35 @@ public final class ParcelableConnection implements Parcelable { private final DisconnectCause mDisconnectCause; private final List<String> mConferenceableConnectionIds; private final Bundle mExtras; private String mParentCallId; /** @hide */ public ParcelableConnection( PhoneAccountHandle phoneAccount, int state, int capabilities, int properties, int supportedAudioRoutes, Uri address, int addressPresentation, String callerDisplayName, int callerDisplayNamePresentation, IVideoProvider videoProvider, int videoState, boolean ringbackRequested, boolean isVoipAudioMode, long connectTimeMillis, StatusHints statusHints, DisconnectCause disconnectCause, List<String> conferenceableConnectionIds, Bundle extras, String parentCallId) { this(phoneAccount, state, capabilities, properties, supportedAudioRoutes, address, addressPresentation, callerDisplayName, callerDisplayNamePresentation, videoProvider, videoState, ringbackRequested, isVoipAudioMode, connectTimeMillis, statusHints, disconnectCause, conferenceableConnectionIds, extras); mParentCallId = parentCallId; } /** @hide */ public ParcelableConnection( Loading Loading @@ -90,6 +119,7 @@ public final class ParcelableConnection implements Parcelable { mDisconnectCause = disconnectCause; mConferenceableConnectionIds = conferenceableConnectionIds; mExtras = extras; mParentCallId = null; } public PhoneAccountHandle getPhoneAccount() { Loading Loading @@ -176,6 +206,10 @@ public final class ParcelableConnection implements Parcelable { return mExtras; } public final String getParentCallId() { return mParentCallId; } @Override public String toString() { return new StringBuilder() Loading @@ -189,6 +223,8 @@ public final class ParcelableConnection implements Parcelable { .append(Connection.propertiesToString(mConnectionProperties)) .append(", extras:") .append(mExtras) .append(", parent:") .append(mParentCallId) .toString(); } Loading Loading @@ -218,6 +254,7 @@ public final class ParcelableConnection implements Parcelable { Bundle extras = Bundle.setDefusable(source.readBundle(classLoader), true); int properties = source.readInt(); int supportedAudioRoutes = source.readInt(); String parentCallId = source.readString(); return new ParcelableConnection( phoneAccount, Loading @@ -237,7 +274,8 @@ public final class ParcelableConnection implements Parcelable { statusHints, disconnectCause, conferenceableConnectionIds, extras); extras, parentCallId); } @Override Loading Loading @@ -274,5 +312,6 @@ public final class ParcelableConnection implements Parcelable { destination.writeBundle(mExtras); destination.writeInt(mConnectionProperties); destination.writeInt(mSupportedAudioRoutes); destination.writeString(mParentCallId); } } Loading
telecomm/java/android/telecom/Connection.java +20 −0 Original line number Diff line number Diff line Loading @@ -522,6 +522,26 @@ public abstract class Connection extends Conferenceable { */ public static final String EVENT_CALL_MERGE_FAILED = "android.telecom.event.CALL_MERGE_FAILED"; /** * Connection event used to inform {@link InCallService}s when the process of merging a * Connection into a conference has begun. * <p> * Sent via {@link #sendConnectionEvent(String, Bundle)}. The {@link Bundle} parameter is * expected to be null when this connection event is used. * @hide */ public static final String EVENT_MERGE_START = "android.telecom.event.MERGE_START"; /** * Connection event used to inform {@link InCallService}s when the process of merging a * Connection into a conference has completed. * <p> * Sent via {@link #sendConnectionEvent(String, Bundle)}. The {@link Bundle} parameter is * expected to be null when this connection event is used. * @hide */ public static final String EVENT_MERGE_COMPLETE = "android.telecom.event.MERGE_COMPLETE"; /** * Connection event used to inform {@link InCallService}s when a call has been put on hold by * the remote party. Loading
telecomm/java/android/telecom/ConnectionService.java +20 −1 Original line number Diff line number Diff line Loading @@ -1823,10 +1823,28 @@ public abstract class ConnectionService extends Service { */ public final void addExistingConnection(PhoneAccountHandle phoneAccountHandle, Connection connection) { addExistingConnection(phoneAccountHandle, connection, null /* conference */); } /** * Adds a connection created by the {@link ConnectionService} and informs telecom of the new * connection. * * @param phoneAccountHandle The phone account handle for the connection. * @param connection The connection to add. * @param conference The parent conference of the new connection. * @hide */ public final void addExistingConnection(PhoneAccountHandle phoneAccountHandle, Connection connection, Conference conference) { String id = addExistingConnectionInternal(phoneAccountHandle, connection); if (id != null) { List<String> emptyList = new ArrayList<>(0); String conferenceId = null; if (conference != null) { conferenceId = mIdByConference.get(conference); } ParcelableConnection parcelableConnection = new ParcelableConnection( phoneAccountHandle, Loading @@ -1847,7 +1865,8 @@ public abstract class ConnectionService extends Service { connection.getStatusHints(), connection.getDisconnectCause(), emptyList, connection.getExtras()); connection.getExtras(), conferenceId); mAdapter.addExistingConnection(id, parcelableConnection); } } Loading
telecomm/java/android/telecom/ParcelableConnection.java +40 −1 Original line number Diff line number Diff line Loading @@ -51,6 +51,35 @@ public final class ParcelableConnection implements Parcelable { private final DisconnectCause mDisconnectCause; private final List<String> mConferenceableConnectionIds; private final Bundle mExtras; private String mParentCallId; /** @hide */ public ParcelableConnection( PhoneAccountHandle phoneAccount, int state, int capabilities, int properties, int supportedAudioRoutes, Uri address, int addressPresentation, String callerDisplayName, int callerDisplayNamePresentation, IVideoProvider videoProvider, int videoState, boolean ringbackRequested, boolean isVoipAudioMode, long connectTimeMillis, StatusHints statusHints, DisconnectCause disconnectCause, List<String> conferenceableConnectionIds, Bundle extras, String parentCallId) { this(phoneAccount, state, capabilities, properties, supportedAudioRoutes, address, addressPresentation, callerDisplayName, callerDisplayNamePresentation, videoProvider, videoState, ringbackRequested, isVoipAudioMode, connectTimeMillis, statusHints, disconnectCause, conferenceableConnectionIds, extras); mParentCallId = parentCallId; } /** @hide */ public ParcelableConnection( Loading Loading @@ -90,6 +119,7 @@ public final class ParcelableConnection implements Parcelable { mDisconnectCause = disconnectCause; mConferenceableConnectionIds = conferenceableConnectionIds; mExtras = extras; mParentCallId = null; } public PhoneAccountHandle getPhoneAccount() { Loading Loading @@ -176,6 +206,10 @@ public final class ParcelableConnection implements Parcelable { return mExtras; } public final String getParentCallId() { return mParentCallId; } @Override public String toString() { return new StringBuilder() Loading @@ -189,6 +223,8 @@ public final class ParcelableConnection implements Parcelable { .append(Connection.propertiesToString(mConnectionProperties)) .append(", extras:") .append(mExtras) .append(", parent:") .append(mParentCallId) .toString(); } Loading Loading @@ -218,6 +254,7 @@ public final class ParcelableConnection implements Parcelable { Bundle extras = Bundle.setDefusable(source.readBundle(classLoader), true); int properties = source.readInt(); int supportedAudioRoutes = source.readInt(); String parentCallId = source.readString(); return new ParcelableConnection( phoneAccount, Loading @@ -237,7 +274,8 @@ public final class ParcelableConnection implements Parcelable { statusHints, disconnectCause, conferenceableConnectionIds, extras); extras, parentCallId); } @Override Loading Loading @@ -274,5 +312,6 @@ public final class ParcelableConnection implements Parcelable { destination.writeBundle(mExtras); destination.writeInt(mConnectionProperties); destination.writeInt(mSupportedAudioRoutes); destination.writeString(mParentCallId); } }