OSDN Git Service

Fixing conference merge where only one party is added to conference.
authorTyler Gunn <tgunn@google.com>
Thu, 29 Jan 2015 19:47:24 +0000 (11:47 -0800)
committerTyler Gunn <tgunn@google.com>
Thu, 29 Jan 2015 19:47:24 +0000 (11:47 -0800)
- Adding "onConferenceStarted" listener for Connections.
- This is necessary so that an ImsCall can report the fact that it has
went from being a single party call to a multiparty call.  This was not
previously necessary since the multiparty bit change would be detected
when one of the connections being merged changed state.  Since we now must
defer the establishment of the conference until all connections have been
merged, we need a means of detecting when the call becomes multiparty.

Bug: 18960042
Change-Id: I3ba138cb546e3efdf89b29d6676d00257a5e00cd

api/system-current.txt
telecomm/java/android/telecom/Connection.java

index 56edc72..d84b1dc 100644 (file)
@@ -30037,6 +30037,7 @@ package android.telecom {
     method public final int getState();
     method public final android.telecom.StatusHints getStatusHints();
     method public final boolean isRingbackRequested();
     method public final int getState();
     method public final android.telecom.StatusHints getStatusHints();
     method public final boolean isRingbackRequested();
+    method protected void notifyConferenceStarted();
     method public void onAbort();
     method public void onAnswer();
     method public void onAudioStateChanged(android.telecom.AudioState);
     method public void onAbort();
     method public void onAnswer();
     method public void onAudioStateChanged(android.telecom.AudioState);
index a180f44..03fec01 100644 (file)
@@ -260,6 +260,7 @@ public abstract class Connection implements IConferenceable {
         /** @hide */
         public void onConferenceParticipantsChanged(Connection c,
                 List<ConferenceParticipant> participants) {}
         /** @hide */
         public void onConferenceParticipantsChanged(Connection c,
                 List<ConferenceParticipant> participants) {}
+        public void onConferenceStarted() {}
     }
 
     /** @hide */
     }
 
     /** @hide */
@@ -1422,4 +1423,13 @@ public abstract class Connection implements IConferenceable {
             l.onConferenceParticipantsChanged(this, conferenceParticipants);
         }
     }
             l.onConferenceParticipantsChanged(this, conferenceParticipants);
         }
     }
+
+    /**
+     * Notifies listeners that a conference call has been started.
+     */
+    protected void notifyConferenceStarted() {
+        for (Listener l : mListeners) {
+            l.onConferenceStarted();
+        }
+    }
 }
 }