summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHung-ying Tyan <tyanh@google.com>2010-09-20 00:51:07 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2010-09-20 00:51:07 -0700
commit852e5354f60a0131692c46f509c2e9901b0b6810 (patch)
tree93ebba219ef84b79b6e7ef4fd38611d6d6eefe47
parent97bc368bc445c0015de6dd6557feff0dd5527d9d (diff)
parent8544560ccc43de7ff49d91866f461f5572f0b147 (diff)
downloadframeworks_base-852e5354f60a0131692c46f509c2e9901b0b6810.zip
frameworks_base-852e5354f60a0131692c46f509c2e9901b0b6810.tar.gz
frameworks_base-852e5354f60a0131692c46f509c2e9901b0b6810.tar.bz2
am 8544560c: SipPhone: fix missing-call DisconnectCause feedback
Merge commit '8544560ccc43de7ff49d91866f461f5572f0b147' into gingerbread-plus-aosp * commit '8544560ccc43de7ff49d91866f461f5572f0b147': SipPhone: fix missing-call DisconnectCause feedback
-rwxr-xr-xtelephony/java/com/android/internal/telephony/sip/SipPhone.java4
-rw-r--r--voip/java/android/net/sip/SipAudioCallImpl.java16
2 files changed, 11 insertions, 9 deletions
diff --git a/telephony/java/com/android/internal/telephony/sip/SipPhone.java b/telephony/java/com/android/internal/telephony/sip/SipPhone.java
index 3e9fb99..0a87ddb 100755
--- a/telephony/java/com/android/internal/telephony/sip/SipPhone.java
+++ b/telephony/java/com/android/internal/telephony/sip/SipPhone.java
@@ -823,7 +823,9 @@ public class SipPhone extends SipPhoneBase {
@Override
public void onCallEnded(SipAudioCall call) {
- onCallEnded(Connection.DisconnectCause.NORMAL);
+ onCallEnded(call.isInCall()
+ ? Connection.DisconnectCause.NORMAL
+ : Connection.DisconnectCause.INCOMING_MISSED);
}
@Override
diff --git a/voip/java/android/net/sip/SipAudioCallImpl.java b/voip/java/android/net/sip/SipAudioCallImpl.java
index 111bfff..ccf4d15 100644
--- a/voip/java/android/net/sip/SipAudioCallImpl.java
+++ b/voip/java/android/net/sip/SipAudioCallImpl.java
@@ -269,7 +269,6 @@ public class SipAudioCallImpl extends SipSessionAdapter
@Override
public void onCallEnded(ISipSession session) {
Log.d(TAG, "sip call ended: " + session);
- close();
Listener listener = mListener;
if (listener != null) {
try {
@@ -278,12 +277,12 @@ public class SipAudioCallImpl extends SipSessionAdapter
Log.e(TAG, "onCallEnded()", t);
}
}
+ close();
}
@Override
public void onCallBusy(ISipSession session) {
Log.d(TAG, "sip call busy: " + session);
- close(false);
Listener listener = mListener;
if (listener != null) {
try {
@@ -292,6 +291,7 @@ public class SipAudioCallImpl extends SipSessionAdapter
Log.e(TAG, "onCallBusy()", t);
}
}
+ close(false);
}
@Override
@@ -316,12 +316,6 @@ public class SipAudioCallImpl extends SipSessionAdapter
+ ": " + message);
mErrorCode = errorCode;
mErrorMessage = message;
- synchronized (this) {
- if ((mErrorCode == SipErrorCode.DATA_CONNECTION_LOST)
- || !isInCall()) {
- close(true);
- }
- }
Listener listener = mListener;
if (listener != null) {
try {
@@ -330,6 +324,12 @@ public class SipAudioCallImpl extends SipSessionAdapter
Log.e(TAG, "onError()", t);
}
}
+ synchronized (this) {
+ if ((errorCode == SipErrorCode.DATA_CONNECTION_LOST)
+ || !isInCall()) {
+ close(true);
+ }
+ }
}
public synchronized void attachCall(ISipSession session,