diff options
-rwxr-xr-x | telephony/java/com/android/internal/telephony/sip/SipPhone.java | 3 | ||||
-rw-r--r-- | voip/java/android/net/sip/SipManager.java | 18 |
2 files changed, 12 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 b154c91..818605a 100755 --- a/telephony/java/com/android/internal/telephony/sip/SipPhone.java +++ b/telephony/java/com/android/internal/telephony/sip/SipPhone.java @@ -390,12 +390,11 @@ public class SipPhone extends SipPhoneBase { new SipProfile.Builder(calleeSipUri).build(); SipConnection c = new SipConnection(this, callee, originalNumber); - connections.add(c); c.dial(); + connections.add(c); setState(Call.State.DIALING); return c; } catch (ParseException e) { - // TODO: notify someone throw new SipException("dial", e); } } diff --git a/voip/java/android/net/sip/SipManager.java b/voip/java/android/net/sip/SipManager.java index 8aaa805..2e38662 100644 --- a/voip/java/android/net/sip/SipManager.java +++ b/voip/java/android/net/sip/SipManager.java @@ -314,10 +314,6 @@ public class SipManager { SipAudioCall call = new SipAudioCall(mContext, localProfile); call.setListener(listener); SipSession s = createSipSession(localProfile, null); - if (s == null) { - throw new SipException( - "Failed to create SipSession; network available?"); - } call.makeCall(peerProfile, s, timeout); return call; } @@ -366,7 +362,9 @@ public class SipManager { */ public SipAudioCall takeAudioCall(Intent incomingCallIntent, SipAudioCall.Listener listener) throws SipException { - if (incomingCallIntent == null) return null; + if (incomingCallIntent == null) { + throw new SipException("Cannot retrieve session with null intent"); + } String callId = getCallId(incomingCallIntent); if (callId == null) { @@ -381,7 +379,9 @@ public class SipManager { try { ISipSession session = mSipService.getPendingSession(callId); - if (session == null) return null; + if (session == null) { + throw new SipException("No pending session for the call"); + } SipAudioCall call = new SipAudioCall( mContext, session.getLocalProfile()); call.attachCall(new SipSession(session), offerSd); @@ -526,6 +526,10 @@ public class SipManager { SipSession.Listener listener) throws SipException { try { ISipSession s = mSipService.createSession(localProfile, null); + if (s == null) { + throw new SipException( + "Failed to create SipSession; network unavailable?"); + } return new SipSession(s, listener); } catch (RemoteException e) { throw new SipException("createSipSession()", e); @@ -541,7 +545,7 @@ public class SipManager { try { return mSipService.getListOfProfiles(); } catch (RemoteException e) { - return null; + return new SipProfile[0]; } } |