The SipService used to take an action string and broadcasts an intent with
that action string when an incoming call is received. The design is not safe
(as the intent may be sniffed) and inflexible (can only received by
BroadcastReceiver). Now we use PendingIntent to fix all these.
Companion CL: https://android-git.corp.google.com/g/#change,71800
Change-Id: Id12e5c1cf9321edafb171494932cd936eae10b6e
+ Log error instead of crashing app process in SipManager's ListenerRelay.
+ Terminate dialog and transaction in SipSessionGroup.reset().
+ Remove redundant reset() in SipSessionGroup.
Change-Id: Ifbf29d2c9607ffe1a1a50b0c131ee3a4e81a0d0e
+ Fix keepalive timer event leak due to the race between stopping timer and
the async'ed timeout handler
+ SipSessionImpl: set state before handling an event to ensure we get correct
state when some error occurs during handling the event.
+ Fix potential NPE in SipManager.ListenerRelay.getUri().
Change-Id: I021ee34f83059fd4fbb64b30bea427a5462aa51b
The only exception is TRYING.
Also remove an unused import in SipSessionGroup.
http://b/issue?id=3021865
Change-Id: I160982b0c4b417362f1fb961217db90c3a585ce5
and fix how SipErrorCode.SERVER_ERROR is determinted from server response, not
from local exceptions.
http://b/issue?id=3041332
Change-Id: Idce67e29858d5c7573b98b7fa1fac074913d71d6
and add new CROSS_DOMAIN_AUTHENTICATION error code and OUT_OF_NETWORK
DisconnectCause.
http://b/issue?id=3020185
Change-Id: Icc0a341599d5a72b7cb2d43675fbddc516544978
+ replace SipAudioCall and its Listener interfaces with real implementations,
+ remove SipAudioCallImpl.java, most of it is has become part of SipAudioCall,
+ add SipSession and its Listener classes to wrap ISipSession and ISipSessionListener,
+ move SipSessionState to SipSession.State,
+ make SipManager keep context and remove the context argument from many methods of its,
+ rename SipManager.getInstance() to newInstance(),
+ rename constant names for action strings and extra keys to follow conventions,
+ set thread names for debugging purpose.
Change-Id: Ie1790dc0e8f49c06c7fc80d33fec0f673a9c3044
also fix delivering bad news before closing a SipAudioCallImpl object so that
apps can get the current audio-call object state before it's closed:
http://b/issue?id=3009262
Change-Id: I94c19dae8b4f252de869e614ec462b19b4ff2077
+ add timer parameter to ISipSession.make/changeCall(),
+ add timer paramter to SipAudioCall.make/answer/hold/continueCall()'s,
+ add timer parameter to SipManager.makeAudioCall(),
+ modify implementation in SipSessionGroup, SipAudioCallImpl accordingly,
+ make SipPhone to use it with 8-second timeout.
http://b/issue?id=2994748
Change-Id: I661a887e5810087ddc5e2318335e2fa427f80ec6
+ add DATA_CONNECTION_LOST to SipErrorCode
+ convert it to Connection.DisconnectCause.LOST_SIGNAL in SipPhone
http://b/issue?id=2992548
Change-Id: Ie8983c1b81077b21f46304cf60b8e61df1ffd241
To prevent the wifi from entering low-power mode due to the screen off
triggered by the proximity sensor.
Change-Id: I490bc594d800bc30c256e52ef3bce08bf86bc7b1
and fix the bug of re-assigning connectTime's in SipConnection,
and adding synchronization for SipPhone to be thread-safe,
and set normal audio mode when call not on hold instead of on hold in SipAudioCallImpl,
and fix re-entrance problem in CallManager.setAudioMode() for in-call mode.
Change-Id: I54f39dab052062de1ce141e5358d892d30453a3a