893 Commits

Author SHA1 Message Date
Brad Ebinger
38e704cace Merge "Deprecate old TelecomManager actions" am: d1ab15a1af am: ee9a9babb1 am: 50315f010c
am: aaad10d729

Change-Id: I35639813b1d356df1fea82c9470bd18fda1c5267
2017-01-23 19:49:34 +00:00
Brad Ebinger
aaad10d729 Merge "Deprecate old TelecomManager actions" am: d1ab15a1af am: ee9a9babb1
am: 50315f010c

Change-Id: I89621d6f584ee743b67838a11fde212d2030900c
2017-01-23 19:38:42 +00:00
Brad Ebinger
50315f010c Merge "Deprecate old TelecomManager actions" am: d1ab15a1af
am: ee9a9babb1

Change-Id: Ib24d46d70b10cd8bb6ac39fd4dc915ac9a19a3ba
2017-01-23 19:31:18 +00:00
Brad Ebinger
d1ab15a1af Merge "Deprecate old TelecomManager actions" 2017-01-23 19:09:12 +00:00
Tyler Gunn
15470f9bfc Merge "Adding self-managed connection service APIs." am: 3a7253a09d am: 2155be0218 am: d70e5d9317
am: 61650097ed

Change-Id: Icfeff293b66b1bb062095a857c8a22ac0dcbdd63
2017-01-19 18:44:10 +00:00
Tyler Gunn
61650097ed Merge "Adding self-managed connection service APIs." am: 3a7253a09d am: 2155be0218
am: d70e5d9317

Change-Id: I20ba841ceefb5905bf81262d6c42ea4b252ba3d4
2017-01-19 18:39:50 +00:00
Tyler Gunn
d70e5d9317 Merge "Adding self-managed connection service APIs." am: 3a7253a09d
am: 2155be0218

Change-Id: I75319e09f352905ffa45194086b11711f9070c70
2017-01-19 18:34:53 +00:00
Tyler Gunn
f50354363c Adding self-managed connection service APIs.
1. Adding new APIs for self-managed connection services.
2. Adding Telecom package-level documentation.

Test: Manual (unit, cts pending; this is just scaffolding for now)
Bug: 34159263
Change-Id: Ic226ec8bfcb2fbcc02fe802b47499e47aab17d0a
2017-01-18 14:44:43 -08:00
Brad Ebinger
23b1c6d061 Deprecate old TelecomManager actions
The ACTION_INCOMING_CALL and ACTION_NEW_UNKNOWN_CALL intents are
not used anymore and have been replaced with methods in
TelecomManager. This change marks them as deprecated.

Test: None
Bug: 33783690
Change-Id: I840b0ac202237cc43a0540fe64c832e119b33aa2
2017-01-12 13:10:40 -08:00
mike dooley
4af561ff17 Adding extra key to indicate when the last emergency call was made.
This can be used to determine if an incoming call is potentially
an emergency callback.

Bug: 30952524
Test: none
Change-Id: I2d4ca8e6885c0314394b3a2ad389ad8115b79156
2017-01-10 20:56:23 +00:00
Christine Hallstrom
2830ce9a09 Add ability to set supported audio routes on phone accounts and connection
The set audio routes are used by Telecom to restrict where the audio may
be routed to. For example, an account can specify that calls may not be
routed over bluetooth headsets, which will prevent a new call from being
routed to this source.

This is a cherry-pick of abandoned ag/1521009.

Bug: 32958838
Change-Id: Idd5e4d38b157f11454f3d991385644f2f384596e
2016-12-13 17:48:50 -08:00
Tyler Gunn
5f4fa1d324 Add reason code used to tell dialer when call failed due to WFC being off. am: 6adbd2bf5f
am: 9507a1a716

Change-Id: I135bb3c266ce1f0136ef3a9413942bf9d8fa1fe7
2016-12-12 17:26:07 +00:00
Tyler Gunn
9507a1a716 Add reason code used to tell dialer when call failed due to WFC being off.
am: 6adbd2bf5f

Change-Id: Id175a279bed0e80115abf1b2043a0fc1472d49f1
2016-12-12 17:17:21 +00:00
Hall Liu
15dbf2b3f0 Make use of user id in getDefaultDialerApplication
In the version of getDefaultDialerApplication that has an argument for
user id, make use of it when querying the list of installed dialer
packages. Otherwise, a secondary user may find their default dialer
pointing to an app that they had disabled.

Test: manual
Change-Id: Id85ff730b820741cddb6afee8af095232d3dae0f
2016-12-08 14:51:38 -08:00
Tyler Gunn
ec5b6e3232 Add carrier configuration options to allow enforcing max conference size.
Adding carrier config options to to allow enforcing a maxmimum size for
IMS conferences.
Also adding small performance enhancement to setConferenceables so that
if the list of conferenceable connections does not change it does not
send an update to listeners.

Test: Manual
Bug: 29548224
Change-Id: I109c91c4147814547bb75003d312d81d41a52c13
2016-12-07 14:12:33 -08:00
Tyler Gunn
6adbd2bf5f Add reason code used to tell dialer when call failed due to WFC being off.
Adding new reason code which will be sent to Dialer to display a message
to the user when the call fails to the WFC being off.

Test: Manual
Bug: 28709116
Change-Id: I155fda9a47823d6d3f68be6f07dbe64998a582ae
2016-12-07 13:19:44 -08:00
Christine Hallstrom
3e68c06ed3 Add ability to set supported audio routes on phone accounts and connection am: 4e22d6dc45 am: bad3a2ab2e
am: 22de17247b

Change-Id: Ib2eab7f6bc9105977b586366b5bd46097e1aca1c
2016-12-02 04:03:55 +00:00
Christine Hallstrom
22de17247b Add ability to set supported audio routes on phone accounts and connection am: 4e22d6dc45
am: bad3a2ab2e

Change-Id: Ib162b2de42b636081a07d91a61406858d40e56f3
2016-12-02 03:57:13 +00:00
Christine Hallstrom
9161228e31 Add ability to set supported audio routes on phone accounts and connection
am: 4e22d6dc45

Change-Id: I5144f403e9dcdc7934fa56e045e2f95703af7ad6
2016-12-02 03:45:29 +00:00
Christine Hallstrom
4e22d6dc45 Add ability to set supported audio routes on phone accounts and connection
The set audio routes are used by Telecom to restrict where the audio may
be routed to. For example, an account can specify that calls may not be
routed over bluetooth headsets, which will prevent a new call from being
routed to this source.

This is a cherry-pick of abandoned ag/1521009.

Bug: 32958838
Change-Id: Idd5e4d38b157f11454f3d991385644f2f384596e
2016-12-01 17:18:35 -08:00
Brad Ebinger
972d866b53 Merge "Readability improvements in Logging" am: d51df736f6 am: 90b6e78657 am: 3ae84b6efe
am: 75553432d4

Change-Id: Ic2a03399b6a0e8ae455d75ce134a2bb276e01c37
2016-11-17 19:51:28 +00:00
Brad Ebinger
3ae84b6efe Merge "Readability improvements in Logging" am: d51df736f6
am: 90b6e78657

Change-Id: I51e87f2a8146e1e60d3610bbdc791b40fc8ba972
2016-11-17 19:35:08 +00:00
Brad Ebinger
90b6e78657 Merge "Readability improvements in Logging"
am: d51df736f6

Change-Id: If7bb6955d615b8369ac41d3bb8ba96aa0cc752d2
2016-11-17 19:29:17 +00:00
Brad Ebinger
0c3541be65 Readability improvements in Logging
We now truncate Session method paths and IDs based on the Logging level
to improve Session Logging readability in logcat. If another external
session is started off of an existing external Session, the preceding
histories are replaced with "..." so that the Session information is not
overwhelming.

Bug: 26571395
Test: Unit Tests and manual tests pass
Change-Id: I9ffda3d64f1072fa6228a82a86116a5e47d18c96
2016-11-16 11:05:15 -08:00
Tyler Gunn
9e976c8565 Merge "Add CAPABILITY_SUPPORTS_VIDEO_CALLING to PhoneAccount." am: 8223dc1ae9
am: 8b58e73c48

Change-Id: Ifdbfdb2f418297eae83a69196462dc847650e3e2
2016-11-14 18:15:12 +00:00
Tyler Gunn
8b58e73c48 Merge "Add CAPABILITY_SUPPORTS_VIDEO_CALLING to PhoneAccount."
am: 8223dc1ae9

Change-Id: Id8c6077d099f9ef943c09242acb22173b6628c1a
2016-11-14 18:08:11 +00:00
Tyler Gunn
58cbd7a9c7 Add CAPABILITY_SUPPORTS_VIDEO_CALLING to PhoneAccount.
Adding companion PhoneAccount capability which is used to indicate when a
PhoneAccount supports video calling.  That is, whether it can potentially
make video calls, but not necessarily at the current time.

This is an often requested OEM enhancement which is used to drive UX (e.g.
imagine a video calling icon showing up if the device supports video, but
only being enabled when the device is in range of a VT capable tower).

See bug for reference to design doc.

Merged-Id: I38379a3a1cf1be04c6136b89b93ee95193ee7b6f
Bug: 27328615
Test: Manual
Change-Id: I08fc18950e6d35a8a7df47ce37aa2326624b9fd3
2016-11-11 19:43:57 +00:00
Tyler Gunn
7519e16698 Merge "Add CAPABILITY_SUPPORTS_VIDEO_CALLING to PhoneAccount." 2016-11-11 18:01:25 +00:00
Tyler Gunn
b88b311463 Perform camera permission and app ops check when setting camera for VT.
When a calling InCallService attempts to use the setCamera API on the
VideoCall, Telecom will perform a permission check to ensure that the
caller has the correct camera permission and passes the app-ops camera
check.  A failure to set the camera will result in a callback via the
call session event API.

This got a little messy as the app ops package name needs to come from the
InCallService, and handler usage in the VideoProvider API means we had to
pass around the uid/pid of the caller, obtained before we trampoline onto
the handler.

Test: Unit tests added, manual testing performed.
Bug: 32747443
Change-Id: I555a04f9c3fb45e60bb811f64ba855ccf2e3b0e2
2016-11-09 10:19:23 -08:00
Tyler Gunn
ee669d2774 Add CAPABILITY_SUPPORTS_VIDEO_CALLING to PhoneAccount.
Adding companion PhoneAccount capability which is used to indicate when a
PhoneAccount supports video calling.  That is, whether it can potentially
make video calls, but not necessarily at the current time.

This is an often requested OEM enhancement which is used to drive UX (e.g.
imagine a video calling icon showing up if the device supports video, but
only being enabled when the device is in range of a VT capable tower).

See bug for reference to design doc.

Bug: 27328615
Change-Id: I08fc18950e6d35a8a7df47ce37aa2326624b9fd3
2016-11-03 18:02:41 +00:00
Brad Ebinger
c5eacceb3f resolve merge conflicts of 4d75bee to nyc-mr1-dev-plus-aosp
Change-Id: Ib11bb52c9d3826e02089485af93856ba891ad034
2016-11-02 10:33:27 -07:00
Brad Ebinger
4d75bee99b Modify ConnectionServiceAdapter to include Session
Modifies the ConnectionServiceAdapter to include Session Information in
the AIDL interface so that external Sessions can be started in Telecom
from Telephony.

Test: Manual testing and Unit Tests pass
Bug: 26571395
Change-Id: I31bbfe433dd062a50bd05083e1a639dd4cd03403
2016-11-02 09:20:22 -07:00
Brad Ebinger
5beba8c4d1 Modify ConnectionServiceAdapter to include Session
Modifies the ConnectionServiceAdapter to include Session Information in
the AIDL interface so that external Sessions can be started in Telecom
from Telephony.

Test: Manual testing and Unit Tests pass
Bug: 26571395
Change-Id: I31bbfe433dd062a50bd05083e1a639dd4cd03403
2016-11-01 09:29:29 -07:00
Brad Ebinger
668a6fa227 Modify AIDLs to include Session.Info
am: b32d4f8b5c

Change-Id: Ibbac4c74b5a0c4fcd5524c97acef5fc078d80cb7
2016-10-28 20:17:03 +00:00
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
3445f82907 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-27 16:11:18 -07:00
Brad Ebinger
2504343fcd Merge "Add support for starting external Sessions" am: 4ce60695f9
am: 9bec1a5095

Change-Id: Ie0b4ca75d34f8489483bd274e7902d3de67703fa
2016-10-26 16:48:54 +00: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
7ed42a72c0 Switch on android.telecom.Log in Telecom
am: ce97bfbdb2

Change-Id: Ic7827f1627eca43937609e21d15186f483381182
2016-10-21 04:37:22 +00: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
4f28458250 Merge "Adds registerSessionListener API to Log" am: e3daed81eb
am: b4ef12bba7

Change-Id: I255d21923f45efcfc9d75057d42992dc58088e73
2016-10-20 22:15:57 +00:00
Brad Ebinger
b4ef12bba7 Merge "Adds registerSessionListener API to Log"
am: e3daed81eb

Change-Id: Ia42cba6a735170ce1aea653bd42b6f1182853819
2016-10-20 22:09:30 +00:00
Tyler Gunn
d55bf0fa1b Framework fixes to support VoLTE conf calls via RemoteConnectionServices. am: 2282bb97e7
am: 7f4abb2a05

Change-Id: I2320cc580dba98b40a4ed630ad52d1c6b55a6349
2016-10-20 01:13:52 +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
Tyler Gunn
2282bb97e7 Framework fixes to support VoLTE conf calls via RemoteConnectionServices.
Fixing some issues with the addExistingConnection and addConference APIs
on ConnectionService.  When a connection manager relays the addition of
an existing connection or a conference to Telecom, it will assign a new
ID to the new connection/conference.  Due to how RemoteCSes work, the
Connection/Conf will be added directly via TelephonyConnectionService and
also via the connection manager's connection service.  Because the ID
changes, we ended up adding these twice. Conferences weren't a problem in
the GSM conference case because the TElephonyConnectionService's
ConnectionServiceWrapper didn't know of the IDs for the children of the
conference.  However, due to how the existing connections work its not the
case for VoLTE conferences.  To mitigate this, I'm passing the original
connection/conference ID to the connection manager via extras (ugh) and
using this to ensure that when the new existing connection/conference is
added to telecom that the same ID is used.  This ensures that we can
properly de-dupe the requests from TelephonyConnectionService and the
connection manager.

Also, there was some missing code in RemoteConnectionService which would
cause it to not properly track existing connections.

Bug: 31464792
Change-Id: I436f4438fd000ea48ebea7ceb75105bd3f456e46
2016-10-17 15:48:19 -07: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