diff options
author | Yorke Lee <yorkelee@google.com> | 2014-09-17 03:29:11 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2014-09-17 03:29:12 +0000 |
commit | 1c4eb10cc1159d5e029f982a629c5262419fa5ce (patch) | |
tree | 6789052cbcf1f46bb1bed74e8acda7f218935186 /telecomm/java/android/telecom/Conference.java | |
parent | ebc69cd19e3c4a40748410f6d509989e83829f1b (diff) | |
parent | a0d3ca9746143d669fe9384babb9e1b9fca33dcf (diff) | |
download | frameworks_base-1c4eb10cc1159d5e029f982a629c5262419fa5ce.zip frameworks_base-1c4eb10cc1159d5e029f982a629c5262419fa5ce.tar.gz frameworks_base-1c4eb10cc1159d5e029f982a629c5262419fa5ce.tar.bz2 |
Merge "Add missing methods to Conference object" into lmp-dev
Diffstat (limited to 'telecomm/java/android/telecom/Conference.java')
-rw-r--r-- | telecomm/java/android/telecom/Conference.java | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/telecomm/java/android/telecom/Conference.java b/telecomm/java/android/telecom/Conference.java index d1e150f..9b350c1 100644 --- a/telecomm/java/android/telecom/Conference.java +++ b/telecomm/java/android/telecom/Conference.java @@ -43,6 +43,7 @@ public abstract class Conference { Collections.unmodifiableList(mChildConnections); private PhoneAccountHandle mPhoneAccount; + private AudioState mAudioState; private int mState = Connection.STATE_NEW; private DisconnectCause mDisconnectCause; private int mCapabilities; @@ -94,6 +95,15 @@ public abstract class Conference { } /** + * @return The audio state of the conference, describing how its audio is currently + * being routed by the system. This is {@code null} if this Conference + * does not directly know about its audio state. + */ + public final AudioState getAudioState() { + return mAudioState; + } + + /** * Invoked when the Conference and all it's {@link Connection}s should be disconnected. */ public void onDisconnect() {} @@ -128,6 +138,25 @@ public abstract class Conference { public void onSwap() {} /** + * Notifies this conference of a request to play a DTMF tone. + * + * @param c A DTMF character. + */ + public void onPlayDtmfTone(char c) {} + + /** + * Notifies this conference of a request to stop any currently playing DTMF tones. + */ + public void onStopDtmfTone() {} + + /** + * Notifies this conference that the {@link #getAudioState()} property has a new value. + * + * @param state The new call audio state. + */ + public void onAudioStateChanged(AudioState state) {} + + /** * Sets state to be on hold. */ public final void setOnHold() { @@ -251,6 +280,18 @@ public abstract class Conference { return this; } + /** + * Inform this Conference that the state of its audio output has been changed externally. + * + * @param state The new audio state. + * @hide + */ + final void setAudioState(AudioState state) { + Log.d(this, "setAudioState %s", state); + mAudioState = state; + onAudioStateChanged(state); + } + private void setState(int newState) { if (newState != Connection.STATE_ACTIVE && newState != Connection.STATE_HOLDING && |