Loading voip/java/com/android/server/sip/SipService.java +13 −2 Original line number Diff line number Diff line Loading @@ -441,13 +441,26 @@ public final class SipService extends ISipService.Stub { private synchronized void addPendingSession(ISipSession session) { try { cleanUpPendingSessions(); mPendingSessions.put(session.getCallId(), session); if (DEBUG) Log.d(TAG, "#pending sess=" + mPendingSessions.size()); } catch (RemoteException e) { // should not happen with a local call Log.e(TAG, "addPendingSession()", e); } } private void cleanUpPendingSessions() throws RemoteException { Map.Entry<String, ISipSession>[] entries = mPendingSessions.entrySet().toArray( new Map.Entry[mPendingSessions.size()]); for (Map.Entry<String, ISipSession> entry : entries) { if (entry.getValue().getState() != SipSession.State.INCOMING_CALL) { mPendingSessions.remove(entry.getKey()); } } } private synchronized boolean callingSelf(SipSessionGroupExt ringingGroup, SipSessionGroup.SipSessionImpl ringingSession) { String callId = ringingSession.getCallId(); Loading Loading @@ -1095,8 +1108,6 @@ public final class SipService extends ISipService.Stub { } } // TODO: clean up pending SipSession(s) periodically /** * Timer that can schedule events to occur even when the device is in sleep. * Only used internally in this package. Loading Loading
voip/java/com/android/server/sip/SipService.java +13 −2 Original line number Diff line number Diff line Loading @@ -441,13 +441,26 @@ public final class SipService extends ISipService.Stub { private synchronized void addPendingSession(ISipSession session) { try { cleanUpPendingSessions(); mPendingSessions.put(session.getCallId(), session); if (DEBUG) Log.d(TAG, "#pending sess=" + mPendingSessions.size()); } catch (RemoteException e) { // should not happen with a local call Log.e(TAG, "addPendingSession()", e); } } private void cleanUpPendingSessions() throws RemoteException { Map.Entry<String, ISipSession>[] entries = mPendingSessions.entrySet().toArray( new Map.Entry[mPendingSessions.size()]); for (Map.Entry<String, ISipSession> entry : entries) { if (entry.getValue().getState() != SipSession.State.INCOMING_CALL) { mPendingSessions.remove(entry.getKey()); } } } private synchronized boolean callingSelf(SipSessionGroupExt ringingGroup, SipSessionGroup.SipSessionImpl ringingSession) { String callId = ringingSession.getCallId(); Loading Loading @@ -1095,8 +1108,6 @@ public final class SipService extends ISipService.Stub { } } // TODO: clean up pending SipSession(s) periodically /** * Timer that can schedule events to occur even when the device is in sleep. * Only used internally in this package. Loading