Broadcast phone state changes on an aggregate basis
* Broadcast phone state changes (EXTRA_STATE_IDLE, EXTRA_STATE_OFFHOOK,
EXTRA_STATE_RINGING) based on the overall state of Telecomm rather than
on a per phone basis, to mirror previous behavior of the TelephonyManager API.
* Correctly send out EXTRA_STATE_RINGING broadcasts in onCallAdded. They
weren't getting sent out before.
* Only send a new broadcast if the phone state has changed.
* Delay the sending of the EXTRA_STATE_IDLE broadcast to when all calls
have been removed from CallsManager.
When the EXTRA_STATE_IDLE broadcast is sent by PhoneStateTracker,
TelecommManager.isInCall() returns true because the call has not
been removed from CallsManager even though it has been set to
CallState.DISCONNECTED. This causes the emergency call button in the
lock screen to think that we are still in a call, even though the
user has actually disconnected the call.
Bug: 17428150
Bug: 13455864
Change-Id: If794b269350f2032300a894f930da514da8f3118
1 file changed