From a5400916be40b37346ccf1ae7929c612e5614e89 Mon Sep 17 00:00:00 2001 From: Hall Liu Date: Tue, 16 Apr 2019 14:00:55 -0700 Subject: [PATCH] Make connection events work for conferences Pipe through the onConnectionEvent call between the conference host connection and the android.telecom.Conference object. Fixes: 130404376 Test: manual Change-Id: Ifad3e59dc9764aa2efb2b9766271e18853bf1c76 --- telecomm/java/android/telecom/Conference.java | 11 +++++++++++ telecomm/java/android/telecom/ConnectionService.java | 8 ++++++++ 2 files changed, 19 insertions(+) diff --git a/telecomm/java/android/telecom/Conference.java b/telecomm/java/android/telecom/Conference.java index 6382acf0511d..6000b56d191e 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 58e80b474ef9..044b38785da4 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() { -- 2.11.0