853 Commits

Author SHA1 Message Date
Brad Ebinger
b32d4f8b5c Modify AIDLs to include Session.Info
Modifies the IConnectionService.aidl file to include Session.Info
information to pass from Telecom to Telephony, which is used to start
external Sessions in Telephony from Telecom.

Test: Manual testing and Unit Tests pass
Bug: 26571395
Change-Id: Ia09a0abfa13d5167542d4c67465ea9aa1930b58b
2016-10-28 12:14:24 -07:00
Brad Ebinger
9bec1a5095 Merge "Add support for starting external Sessions"
am: 4ce60695f9

Change-Id: I6957c8e2846d216f77f5f6337388e1fc296511de
2016-10-26 16:42:15 +00:00
Brad Ebinger
a0dc9765d3 Add support for starting external Sessions
This change adds support for parceling Session Information to be
transmitted over AIDLs and starting an external session in the external
process.

Test: Telecom Unit tests and new SessionManager Tests.
Bug: 26571395
Change-Id: Ie27ed88d4a8c344b34568025ddcf150fdcb38d62
2016-10-25 14:22:40 -07:00
Brad Ebinger
ce97bfbdb2 Switch on android.telecom.Log in Telecom
Move over the Runnable Class into android.telecom and turn on the
framework's usage in Telecom.
CP from: https://android-review.googlesource.com/#/c/287291/

Test: All Telecom unit tests pass. Manual Log testing has also been
confirmed to be working as it did before.
Bug: 26571395
Change-Id: If7e2036c746c5a953f3a77e2d625a423ce5bf8f3
(cherry picked from commit 9fbbd4052dee1dfa74b87502cec91cc51170d69d)
2016-10-20 23:18:26 +00:00
Brad Ebinger
37521b9ba5 Merge "Switch on android.telecom.Log in Telecom" 2016-10-20 22:53:39 +00:00
Brad Ebinger
b4ef12bba7 Merge "Adds registerSessionListener API to Log"
am: e3daed81eb

Change-Id: Ia42cba6a735170ce1aea653bd42b6f1182853819
2016-10-20 22:09:30 +00:00
Brad Ebinger
836efade0c Adds registerSessionListener API to Log
Adds the registerSessionListener API to android.telecom.Log to allow
callbacks to occur when a session has been fully completed.
CP from internal branch.

Test: Manual Testing
Bug: 26571395
Change-Id: I70ebd6f432768a5d7bd8f3a0997b8e0ef335bb35
2016-10-19 14:32:46 -07:00
Brad Ebinger
cedb97bfb6 Merge "Add support for new SessionManager and EventManager tests"
am: 42598f4a96

Change-Id: I9c629074ca39dfb06bd6b16217ba5e59a9e0a004
2016-10-18 21:30:57 +00:00
Brad Ebinger
be243f5b84 Merge "Transplant the Logging system from Telecom" am: cbb03d1ad3 am: 951dca8209
am: 0ab9a078e9

Change-Id: I79e6b2de4bf523036ed1d15debd142a1786249c5
2016-10-14 14:22:38 +00:00
Brad Ebinger
096d2829ed Add support for new SessionManager and EventManager tests
Test: Ran new unit tests
Bug: 26571395
Change-Id: I6d14d7c05b8fdc8dc1319a81f0e41f7bcd989b85
2016-10-13 15:26:58 -07:00
Brad Ebinger
4fb372fe16 Switch on android.telecom.Log in Telecom
Move over the Runnable Class into android.telecom and turn on the
framework's usage in Telecom.

Test: All Telecom unit tests pass. Manual Log testing has also been
confirmed to be working as it did before.
Bug: 26571395
Change-Id: If7e2036c746c5a953f3a77e2d625a423ce5bf8f3
2016-10-11 16:26:11 -07:00
Brad Ebinger
51b9834180 Transplant the Logging system from Telecom
This change is the preliminary transplant of the functionality from
Telecom into android.telecom. It is currently not being used
anywhere and is not hooked into Telecom yet. It will be after this
change is committed.

Test: Refactoring CL. Existing tests still pass
Bug: 26571395
Change-Id: I406975e686c6eaab7e31b1efa426b3406c8e90cf
2016-09-30 15:01:01 -07:00
Tyler Gunn
78e81ce277 Fix potential NPE in RemoteConnection. am: 9c2c583ad7
am: 16a2464291

Change-Id: I09c0719a180c58eb690f2eebffb65aa79d0e9f87
2016-09-21 20:11:29 +00:00
Cuihtlauac ALVARADO
0e5042e751 Merge "Fix parameter description" am: 750b523aa2 am: df5f3e6db8
am: b2a1ee15c9

Change-Id: I97356fde75e28e6074a819814353070a7e3327c0
2016-09-20 00:12:10 +00:00
Tyler Gunn
9c2c583ad7 Fix potential NPE in RemoteConnection.
When creating an instance of RemoteConnection, the code does not properly
handle the case where the video provider is null.  This could cause a
RemoteConnection.VideoProvider to be created for a non-existent binder.

Bug: 31372624
Change-Id: I990084e2d2d68cdf2dda426cb58ad68785b35422
2016-09-16 15:08:50 -07:00
Cuihtlauac ALVARADO
0b3b2a5f3b Fix parameter description
Correct parameter description text according to method name.

Change-Id: If6bd8254386a84efd338b58797c2c338ccb513b7
2016-09-13 14:49:41 +02:00
Tyler Gunn
6f657ee021 Add toString method for session event codes.
Used to get a human readable version of a call session event for logging.

Bug: 31199425
Change-Id: Idf024ec405f1d18ff2cfab7f814b2651d7d8f0a0
2016-09-02 09:55:25 -07:00
Hall Liu
4c01673a7b Merge "Rename PROPERTY_SHOW_CALLBACK_NUMBER" into nyc-mr1-dev 2016-08-31 17:38:54 +00:00
Hall Liu
25c7c4d100 Rename PROPERTY_SHOW_CALLBACK_NUMBER
This property actually indicates emergency callback mode.

Change-Id: I334cb5a702040768b879ca6189a9ab25237dd49d
Fix: 30005987
2016-08-30 13:41:02 -07:00
Tyler Gunn
e3222569c2 Update InCallService#onConnectionEvent comments.
am: 06f3fa66b7

Change-Id: I954dd7bd3079f33e5966a1998c4f676c98cbe0de
2016-08-29 21:45:04 +00:00
Tyler Gunn
06f3fa66b7 Update InCallService#onConnectionEvent comments.
Update comments to indicate the method is unused and to point developers
to the correct method.

Bug: 31056610
Change-Id: I5d1da69914e0fccd3cf3c504b68acbcf0c70c9c4
2016-08-25 09:26:15 -07:00
Tyler Gunn
b5ed860de7 Add connection events for indicated when a connection is remotely held.
Note: This is different than the existing EVENT_ON_HOLD_TONE_START
and EVENT_ON_HOLD_TONE_END events, which trigger playing a hold tone for
remotely held calls.  Those events also take into account whether the call
is foreground/background; it is left as a future exercise to clean that
up.

Bug: 30349182
Change-Id: I919365d243ae3b9fe56454c7a2b9d5805b2c03a2
2016-08-17 13:48:27 -07:00
Tyler Gunn
04ce757860 Add missing remote conference property set.
When creating a new remote conference, there was a missing call to
"setConnectionProperties".  This would prevent remote conferences from
being created with the correct properties as defined in the actual
conference.

Bug: 30383741
Change-Id: I335e35c222ae18b0d6ea7e750b91bcc36aa40ece
2016-08-15 10:56:12 -07:00
Santos Cordon
1a7493008f Add short string methods for capabilities and properties.
Bug: 30411195
Change-Id: I3aa81da23b75986fab8570b8b36e56a36a660045
2016-07-26 17:42:38 -07:00
Tyler Gunn
b822f7a956 Merge "Enhance toString on ConferenceParticipant." into nyc-mr1-dev 2016-07-18 20:13:32 +00:00
Hall Liu
9f332c7ffc Add PROPERTY_IS_DOWNGRADED_CONFERENCE
Change-Id: I490876b45dcfb0b0efa9604c9d666db485923391
Fix: 29806833
2016-07-14 15:37:37 -07:00
Brad Ebinger
60bbfacd4e Merge "Add Group Id to PhoneAccount" into nyc-mr1-dev 2016-07-12 16:33:42 +00:00
Tyler Gunn
5de68868b5 Enhance toString on ConferenceParticipant.
In preparation for logging this state more often, add pii obscuring to
critical fields, and add string representation of state.

Bug: 30086285
Change-Id: I6c06f8d46f1524ed7f1e4d01ad37ab67b6d12ed4
2016-07-12 08:28:54 -07:00
Brad Ebinger
7298f3b1f9 Add Group Id to PhoneAccount
Add an api to set a group Id to a PhoneAccount. This functions as
a marker that tells Telecom to replace an old registered PhoneAccount
with a newly registered PhoneAccount if their Group Id is the same. This
allows us to handle transparent PhoneAccount switching in Telecom
without losing user specified enabled settings and user calling account
defaults.

Bug: 28173788
Change-Id: I270e766347d7f817c94f86503db2cdb1f93dafa4
2016-07-11 14:35:10 -07:00
Tyler Gunn
c96b5e0873 Finalize MEP functionality.
1) Finish plumbing of PULLING_CALL state.
2) Add new disconnect cause used when maximum number of calls across
all devices has been reached.
3) Add PII mask for toString of ImsExternalCallState.

Bug: 29522023
Change-Id: I78a0a9f3c3d846cfc58a1c5bcc6f105027602cbc
2016-07-11 10:33:37 -07:00
Hall Liu
7e10bcffc5 Merge "Rename disable add call extra" into nyc-mr1-dev 2016-07-09 01:03:20 +00:00
Hall Liu
ee6e86b2bc Rename disable add call extra
Used to be DISABLE_ADD_CALL_DURING_VIDEO_CALL, now just
DISABLE_ADD_CALL. The meaning has also changed -- having the extra set
means that adding calls should be disabled no matter what.

Bug: 29047863
Change-Id: Icd8966492b264a9c64dc4880080a706032f0759c
2016-07-08 15:14:42 -07:00
Jeff Sharkey
4f73fc7c5b API 25 is frozen, so we can't change API.
Bug: 29239768
Change-Id: Ib7777bcc299a3c1d33e51f3b72374b94842136cb
2016-07-07 13:20:47 -06:00
Hall Liu
bd72c9f62a Add video events to ParcelableCallAnalytics
Adds an isVideoCall boolean and a list of session upgrade/downgrade
requests.

Bug: 29239768
Change-Id: I4386a8fb5efe8fc673ffc904f2ddfa8400dcce38
2016-07-06 16:40:08 -07:00
Tyler Gunn
0babe967be Merge "Telephony multi-endpoint disconnect causes." into nyc-mr1-dev 2016-07-01 20:23:16 +00:00
Tyler Gunn
089e99ee4d Merge "Add missing setPulling() method in Connection." into nyc-mr1-dev 2016-06-30 06:20:42 +00:00
Tyler Gunn
c242ceb406 Add missing setPulling() method in Connection.
Change-Id: I89c720b2fa3d3e1304766ba3779410b233a04c6a
2016-06-29 22:35:45 -07:00
Tyler Gunn
9c0eb0bd46 API cleanups per API review.
1. removing deprecation for setExtras on Connection/Conference as these
have legitimate use-cases going forward.
2. Expanded documentation on Call.Callback class to clarify how it is
expected to be used.
3. Updated Callback#onConnectionEvent callback docs to clarify its usage.
4. Expanded Call#sendCallEvent docs to clarify expected namespacing of
call event keys and extras keys, as well as clarification about backwards
compatibility and expectations of ConnectionServices.
5. Standardized the "invoked" vs "notifies" language in the Conference
docs.
6. Clarified how Connection callbacks from Telecom should be implemented.
7. Added Bundle parameter expectations for pre-defined connection events.
8. Documented capabilities and properties toString methods.
9. Documented expectations for onCallEvent method.
10. Expanded documentation for sendConnectionEvent method to clarify
namespacing, use cases, etc.

Bug: 29759275
Bug: 29759954
Bug: 29759773
Change-Id: Ib8c983af4dbbfee68edb60937b268e2c1a9b5e64
2016-06-29 11:46:40 -07:00
Hall Liu
10208661cd Add disable add call during video call extra and carrier config key
Bug: 29047863

Change-Id: I977041ec72968bdccc69a706e27dd4b5ec336ba7
2016-06-27 17:19:59 -07:00
Tyler Gunn
7d633d3337 Add onConferenceSupportedChanged callback, carrier config.
Used to inform listeners when a connection can or cannot be part of a
conference.  Used to inform the conference controller so that it can
recalculate the conferencable connections.

Adding carrier config for carrier requirement.

Bug: 29059073
Change-Id: Iab028fd44d87c8dc2bbbe8bba7ba9ccdc223fe51
2016-06-27 10:49:04 -07:00
Tyler Gunn
4b6614e576 Add support for dropping fg video call on answer of audio call.
Adding two new carrier config options:
1. treat_downgraded_video_calls_as_video_calls_bool - when there is an ongoing
call which was previously a video call (or is currently video call), some
carriers require that this is treated as if it is a video call for
telephony logic such as in (2).
2. drop_video_call_when_answering_audio_call_bool - if the user is in an
active video call (see (1)) over wifi, and an incoming audio call comes in,
when this carrier config option is "TRUE", the video call will be dropped
when the audio call is answered.

Adding new connection extra to indicate to the dialer app that answering
a ringing call will cause the current active video call to drop.

Bug: 29275420
Change-Id: Ied5dbabc8ff09045ba41c5eba2136adad10db80e
2016-06-23 12:48:43 -07:00
Brad Ebinger
e93c91edc2 Merge \"Handle Concurrency issues in Connection\" into nyc-dev
am: df41725e53

Change-Id: I0332df9dc96086a3094dc4ab53573b5cf57f8730
2016-06-15 22:48:06 +00:00
Brad Ebinger
4fa6a01898 Handle Concurrency issues in Connection
Currently, there is a possibility of concurrent thread operations to the
Extras bundle in Conference/Connection. This can cause unexpected
behavior. We have added a lock on the Extras to prevent that from
occuring.

Bug: 29330310
Change-Id: Id63a9797c2f748120a3df8e3ce06c4ce3891c651
2016-06-15 20:53:25 +00:00
Hall Liu
057def534c Add support for Telecom analytics extensions
Add classes for call events and a field for them in
ParcelableCallAnalytics.
Add classes for timing information on user-visible operations.
Add the TelecomAnalytics class as the top-level object for analytics.
Add log session timing information to the TelecomAnalytics class,
independent of individual calls.

Bug: 28623064
Change-Id: Ifee5fdf6b6b341869ff0ff26c4388d357e3d9922
2016-06-14 16:37:10 -07:00
Brad Ebinger
a3d4baf43b Merge "Add EVENT_CALL_MERGE_FAILED Connection Event" into nyc-mr1-dev 2016-06-13 17:39:19 +00:00
Tyler Gunn
2a3f997b02 Telephony multi-endpoint disconnect causes.
A few disconnect cause mappings were missing for the multi-endpoint
disconnect causes.  Adding them here.

Bug: 29236416
Change-Id: I669bd72290c0e823c54eb6062ebd658743882852
2016-06-09 08:25:32 -07:00
Brad Ebinger
15847070b5 Adds CDMA Voice Privacy Property to Call
Adds the CDMA Enhanced Voice Privacy Property to a Call when it has been
enabled for the call by the network.

Bug: 26931679
Change-Id: I1f5b4a4fb22fe6aaaf0c424ef11925c6058c6e82
2016-06-03 13:34:07 -07:00
Brad Ebinger
2c1c164578 Add EVENT_CALL_MERGE_FAILED Connection Event
Currently, if a call merge failure occurs, we can not try again because
the merge button "gets stuck". This change adds a new Connection Event
that notifies the InCall UI to enable the merge button so that the user
can try again.

Bug: 28847375
Change-Id: I376f6ee446e135577a54aa36ff1dfc77af87261a
2016-05-31 11:09:02 -07:00
Tony Mak
23642330a7 Merge "Remove PROPERTY_WORK_CALL" into nyc-dev
am: 5ee420c0d5

* commit '5ee420c0d562e9ff55fe9bf03c746bc76fd40d5e':
  Remove PROPERTY_WORK_CALL

Change-Id: I17d204d01b2fc356fa6b70d4c5cd73f4b0a10d6c
2016-05-23 17:26:45 +00:00
Tony Mak
9ece303402 Remove PROPERTY_WORK_CALL
Bug: 28842878
Change-Id: I7fb28ec3b121f4546ea60d6b170c2c6d98ffcb8c
2016-05-20 19:56:08 +00:00