summaryrefslogtreecommitdiffstats
path: root/voip
diff options
context:
space:
mode:
authorHung-ying Tyan <tyanh@google.com>2010-12-01 09:21:45 -0800
committerAndroid Git Automerger <android-git-automerger@android.com>2010-12-01 09:21:45 -0800
commitd6b0d689a77934a0124ed9d3a59c9534a5d4958b (patch)
tree1988863813eab73535f7a2521304d71d3308ea96 /voip
parentdb4245291b15fd966b36c70f7f69ba4d22539803 (diff)
parent6034f9b2664799cb4f983657a78023b49efff825 (diff)
downloadframeworks_base-d6b0d689a77934a0124ed9d3a59c9534a5d4958b.zip
frameworks_base-d6b0d689a77934a0124ed9d3a59c9534a5d4958b.tar.gz
frameworks_base-d6b0d689a77934a0124ed9d3a59c9534a5d4958b.tar.bz2
am 6034f9b2: am 06e8cdc0: Fix race between ending and answering a SIP call.
* commit '6034f9b2664799cb4f983657a78023b49efff825': Fix race between ending and answering a SIP call.
Diffstat (limited to 'voip')
-rw-r--r--voip/java/com/android/server/sip/SipSessionGroup.java26
1 files changed, 13 insertions, 13 deletions
diff --git a/voip/java/com/android/server/sip/SipSessionGroup.java b/voip/java/com/android/server/sip/SipSessionGroup.java
index 29f5f5a..30ddfb5 100644
--- a/voip/java/com/android/server/sip/SipSessionGroup.java
+++ b/voip/java/com/android/server/sip/SipSessionGroup.java
@@ -527,11 +527,14 @@ class SipSessionGroup implements SipListener {
}
public void answerCall(String sessionDescription, int timeout) {
- try {
- processCommand(new MakeCallCommand(mPeerProfile,
- sessionDescription, timeout));
- } catch (SipException e) {
- onError(e);
+ synchronized (SipSessionGroup.this) {
+ if (mPeerProfile == null) return;
+ try {
+ processCommand(new MakeCallCommand(mPeerProfile,
+ sessionDescription, timeout));
+ } catch (SipException e) {
+ onError(e);
+ }
}
}
@@ -540,14 +543,11 @@ class SipSessionGroup implements SipListener {
}
public void changeCall(String sessionDescription, int timeout) {
- doCommandAsync(new MakeCallCommand(mPeerProfile, sessionDescription,
- timeout));
- }
-
- public void changeCallWithTimeout(
- String sessionDescription, int timeout) {
- doCommandAsync(new MakeCallCommand(mPeerProfile, sessionDescription,
- timeout));
+ synchronized (SipSessionGroup.this) {
+ if (mPeerProfile == null) return;
+ doCommandAsync(new MakeCallCommand(mPeerProfile,
+ sessionDescription, timeout));
+ }
}
public void register(int duration) {