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
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
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
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
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
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
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
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
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
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
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
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)
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
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
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
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
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
Update comments to indicate the method is unused and to point developers
to the correct method.
Bug: 31056610
Change-Id: I5d1da69914e0fccd3cf3c504b68acbcf0c70c9c4
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
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