diff --git a/telecomm/java/android/telecom/Conference.java b/telecomm/java/android/telecom/Conference.java index 6382acf0511d2..6000b56d191ec 100644 --- a/telecomm/java/android/telecom/Conference.java +++ b/telecomm/java/android/telecom/Conference.java @@ -68,6 +68,7 @@ public abstract class Conference extends Conferenceable { public void onExtrasRemoved(Conference c, List keys) {} public void onConferenceStateChanged(Conference c, boolean isConference) {} public void onAddressChanged(Conference c, Uri newAddress, int presentation) {} + public void onConnectionEvent(Conference c, String event, Bundle extras) {} public void onCallerDisplayNameChanged( Conference c, String callerDisplayName, int presentation) {} } @@ -1024,4 +1025,14 @@ public abstract class Conference extends Conferenceable { } onExtrasChanged(b); } + + /** + * See {@link Connection#sendConnectionEvent(String, Bundle)} + * @hide + */ + public void sendConnectionEvent(String event, Bundle extras) { + for (Listener l : mListeners) { + l.onConnectionEvent(this, event, extras); + } + } } diff --git a/telecomm/java/android/telecom/ConnectionService.java b/telecomm/java/android/telecom/ConnectionService.java index 9bafbe09998e6..49b34b38c663b 100644 --- a/telecomm/java/android/telecom/ConnectionService.java +++ b/telecomm/java/android/telecom/ConnectionService.java @@ -1279,6 +1279,14 @@ public abstract class ConnectionService extends Service { mAdapter.setCallerDisplayName(id, callerDisplayName, presentation); } } + + @Override + public void onConnectionEvent(Conference c, String event, Bundle extras) { + String id = mIdByConference.get(c); + if (id != null) { + mAdapter.onConnectionEvent(id, event, extras); + } + } }; private final Connection.Listener mConnectionListener = new Connection.Listener() {