summaryrefslogtreecommitdiffstats
path: root/telephony/java
diff options
context:
space:
mode:
authorChung-yih Wang <cywang@google.com>2010-09-23 23:23:11 +0800
committerChung-yih Wang <cywang@google.com>2010-09-27 23:53:39 +0800
commitbd2294204e3edaede3fe81eb9b11c05c4fafe627 (patch)
tree99fe4bc590448ba79e2edc5d761c8564358118dc /telephony/java
parent9627847d588cd969f60dcc79d165209184a90069 (diff)
downloadframeworks_base-bd2294204e3edaede3fe81eb9b11c05c4fafe627.zip
frameworks_base-bd2294204e3edaede3fe81eb9b11c05c4fafe627.tar.gz
frameworks_base-bd2294204e3edaede3fe81eb9b11c05c4fafe627.tar.bz2
Fix the unhold issue especially if one is behind NAT.
+call startAudio() when call is established. Change-Id: Ib6a1e34017fb83007ce275da1991058e8b803833
Diffstat (limited to 'telephony/java')
-rwxr-xr-xtelephony/java/com/android/internal/telephony/sip/SipPhone.java13
1 files changed, 12 insertions, 1 deletions
diff --git a/telephony/java/com/android/internal/telephony/sip/SipPhone.java b/telephony/java/com/android/internal/telephony/sip/SipPhone.java
index 45e6ccd..c0f2993 100755
--- a/telephony/java/com/android/internal/telephony/sip/SipPhone.java
+++ b/telephony/java/com/android/internal/telephony/sip/SipPhone.java
@@ -633,6 +633,18 @@ public class SipPhone extends SipPhoneBase {
}
@Override
+ public void onCallEstablished(SipAudioCall call) {
+ call.startAudio();
+ onChanged(call);
+ }
+
+ @Override
+ public void onCallHeld(SipAudioCall call) {
+ call.startAudio();
+ onChanged(call);
+ }
+
+ @Override
public void onChanged(SipAudioCall call) {
synchronized (SipPhone.class) {
Call.State newState = getCallStateFrom(call);
@@ -652,7 +664,6 @@ public class SipPhone extends SipPhoneBase {
}
foregroundCall.switchWith(ringingCall);
}
- if (newState == Call.State.ACTIVE) call.startAudio();
setState(newState);
}
mOwner.onConnectionStateChanged(SipConnection.this);