From 25ccbb97ffd3298caede635f29445073e845cfc3 Mon Sep 17 00:00:00 2001 From: Masahiko Endo Date: Thu, 28 Jul 2011 21:51:43 +0900 Subject: Prevent NullPointerException cases while using SipService. Some SipService methods may return null, in such cases like no Wi-Fi connection. Added minimum check to prevent NullPointerExceptions. Change-Id: Ia7fae57ee893f2564cbfdedb6dc614938ab60ff7 Signed-off-by: Masahiko Endo --- voip/java/android/net/sip/SipManager.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'voip') diff --git a/voip/java/android/net/sip/SipManager.java b/voip/java/android/net/sip/SipManager.java index dce46fe..cd0b5c4 100644 --- a/voip/java/android/net/sip/SipManager.java +++ b/voip/java/android/net/sip/SipManager.java @@ -471,6 +471,10 @@ public class SipManager { try { ISipSession session = mSipService.createSession(localProfile, createRelay(listener, localProfile.getUriString())); + if (session == null) { + throw new SipException( + "SipService.createSession() returns null"); + } session.register(expiryTime); } catch (RemoteException e) { throw new SipException("register()", e); @@ -492,6 +496,10 @@ public class SipManager { try { ISipSession session = mSipService.createSession(localProfile, createRelay(listener, localProfile.getUriString())); + if (session == null) { + throw new SipException( + "SipService.createSession() returns null"); + } session.unregister(); } catch (RemoteException e) { throw new SipException("unregister()", e); @@ -513,7 +521,7 @@ public class SipManager { try { String callId = getCallId(incomingCallIntent); ISipSession s = mSipService.getPendingSession(callId); - return new SipSession(s); + return ((s == null) ? null : new SipSession(s)); } catch (RemoteException e) { throw new SipException("getSessionFor()", e); } -- cgit v1.1