History log of /frameworks/opt/telephony/src/java/com/android/internal/telephony/imsphone/ImsExternalCallTracker.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
3de018282cd7dae66d4dfff41303e81419d2004d 20-Jul-2016 Tyler Gunn <tgunn@google.com> Handle failure to pull an external call.

Look for two expected call fail causes which can occur if an external
call is being pulled, and the pulled ImsPhoneConnection disconnects.
These call fail causes are a signal that the call pull has failed.

We use this to trigger a callback which causes the TelephonyConnection to
swap the ImsPhoneConnection out for the ImsExternalConnection.

Bug: 29906222
Change-Id: I22e570ffd578ef5e474d6abaf5d89378bd17996c
/frameworks/opt/telephony/src/java/com/android/internal/telephony/imsphone/ImsExternalCallTracker.java
814442c3754ef76d896247aa72cf0b050c6c0f29 13-Jul-2016 Tyler Gunn <tgunn@google.com> Fix issue with pulling a previously pulled call.

The bug reported is that sometimes a call isn't marked as pullable when
it should be.
The mExternalCallPullableState map tracks the last pullable state reported
by the network. When a new external call is created, there was an issue
where the network pullable state was not being correctly tracked. Further
updates to the network pullable state were not saved.

Bug: 30047706
Change-Id: I37060f12c393f2e2aba2bd2e8e3237f152495807
/frameworks/opt/telephony/src/java/com/android/internal/telephony/imsphone/ImsExternalCallTracker.java
91c714c06cc426b4f1af05a758c4d560b16f6d24 11-Jul-2016 Tyler Gunn <tgunn@google.com> Finalizing Multiendpoint functionality.

1) Finish plumbing of PULLING call state.
2) b/29522023 - Handle case where the maximum number of calls across all
devices has been reached and a new call cannot be placed; report a new
Telephony disconnect cause which maps to an appropriate user friendly
message.
3) b/29633039 - Make the ImsExternalCallTracker keep track of the last
call pull state for each external call. Also, track whether the device is
in a call, and whether video is enabled on the device. Use this to enforce
the rules that an external video call cannot be pulled if video is not
enabled on the device, and that calls cannot be pulled when there is an
active call on the device.
4) Fixed a circular initialization dependency between ImsPhoneCallTracker
and ImsExternalCallTracker. Previously, the ImsPhoneCallTracker would
spool up the ImsMultiEndpoint service and set the ImsExternalCallTracker
as a listener. HOWEVER, the ImsEXternalCallTracker isn't actually
created until AFTER the ImsPhoneCallTracker is. It just so happens the
ImsPhoneCallTracker init happens on a thread, so ImsExternalCallTracker
would normally be initialized before ImsPhoneCallTracker. Whoops.

Bug: 29522023
Bug: 29633039
Change-Id: Iddabb61dcad79c93665c28e07b333e807cbc576d
/frameworks/opt/telephony/src/java/com/android/internal/telephony/imsphone/ImsExternalCallTracker.java
67f3535dbfa1e4ca1ed846dd649015e8bd1f7328 25-May-2016 Tyler Gunn <tgunn@google.com> Multi-endpoint changes.

Passing the EXTRA_IS_CALL_PULL extra directly into the ImsCallProfile.
mCallExtras; this is where the modem looks for it, not in the "intent
extras".

Adding unit test for ImsExternalCallTracker (still more tests to be added
in the future); this required adding a new interface to abstract away
some stuff that is needed for the tests.

Bug: 27458894
Change-Id: I24b20d13d5dfeb422295d80c0eec72800836ae74
/frameworks/opt/telephony/src/java/com/android/internal/telephony/imsphone/ImsExternalCallTracker.java
4fd6713f309debc864c67efd26b7ed9c2036c9b4 18-May-2016 Tyler Gunn <tgunn@google.com> Merge "Better handling of dialog event package numbers, and call pulling." into nyc-mr1-dev
1c23d391a314ffdb71874b06e9a0e54607208832 12-May-2016 Tyler Gunn <tgunn@google.com> Better handling of dialog event package numbers, and call pulling.

1. Remapping the ImsReasonInfo codes associated with pulling a call to
the DisconnectCause.CALL_PULLED cause. Note: This will need to be updated
in the future as there is a bug in the modem which remaps calls pulled to
the "answered elsewhere code".
2. Convert the dialog event package SIP URI to a tel URI and use that to
set the address on the connection.

Bug: 27458894
Change-Id: I197ce52f6a15df74dcc0c8609f74242b1af910bc
/frameworks/opt/telephony/src/java/com/android/internal/telephony/imsphone/ImsExternalCallTracker.java
da8286bfe1baf68d81a778031d05c3d13fa03f7c 05-May-2016 Tyler Gunn <tgunn@google.com> Fix issue where null dialog event packages crash external call tracker.

Bug: 27458894
Change-Id: I4dec6fd7619a823023d4958d26a38579a54b3be9
/frameworks/opt/telephony/src/java/com/android/internal/telephony/imsphone/ImsExternalCallTracker.java
93da8529345711fd1a5617f3c8b15c0921eececb 15-Apr-2016 Tyler Gunn <tgunn@google.com> Wire up IMS framework APIs and call pull.

1. Wired up the IMS framework APIs so that the modem can inform us of new
dialog event package changes.
2. Wired up the call pull API so that calls to it make it down to an
ImsExternalConnection.
3. In ImsExternalCallTracker, listen to the call pull requests on the
external connections, and use this to trigger the actual pull of the call,
which is essentially a dial with an extra specified (per QCOM).
I abstracted away the idea of pulling the call using the ImsPullCall
interface, which ImsPhoneCallTracker implements.

Bug: 27458894
Change-Id: Idd20a95c2993b29dcd0a7e6c71fb6232cff88736
/frameworks/opt/telephony/src/java/com/android/internal/telephony/imsphone/ImsExternalCallTracker.java
fec523bdc5d2b6dd90212c8076bf34bcc2ab08b2 01-Apr-2016 Tyler Gunn <tgunn@google.com> Add ImsExternalCallTracker and support for multiendpoint.

- Adding new ImsExternalCallTracker which is responsible for responding to
dialog event package information received via IMS framework.
- Added TelephonyTester intents so that I can inject fake dialog event
package data into the ImsExternalCallTracker.

Bug: 27458894
Change-Id: Icc7c4f9e25ad553107fc1cb9d5501ba45c5a1e45
/frameworks/opt/telephony/src/java/com/android/internal/telephony/imsphone/ImsExternalCallTracker.java