History log of /frameworks/base/telecomm/java/android/telecom/RemoteConnectionService.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
38f1b7d112b3f6dc317ae46527ad48403a8e1124 07-Mar-2018 Tyler Gunn <tgunn@google.com> Ensure start of call properties are propagated to RemoteConnection.

Some properties were not being propagated to a RemoteConnection when
a Connection is first created. This can cause problems where the
Connection Manager is not aware of these property changes, especially if
they never change again during the lifetime of a call.

The extras set when a Connection is first created using the
RemoteConnectionService API would not be propagated to the
RemoteConnection. This means that Telephony RAT reporting would never
happen if the radio technology never changes during a call.

Bug: 72811636
Test: Manual
Change-Id: Ia523cee477a39c221953cda68c29579cb5f6ed76
Merged-In: 06a96eab13992b7eb36435f2b145756993aed575
(cherry picked from commit 06a96eab13992b7eb36435f2b145756993aed575)
/frameworks/base/telecomm/java/android/telecom/RemoteConnectionService.java
731c1a38c07cbd7d0a1de0e7afdd4463ba5ba77e 22-Nov-2017 Pengquan Meng <mpq@google.com> Add connection serivce focus api interface

This add new api interface to ConnectionService to support the
connection service focus api.

Bug: 69651192
Test: manually

Change-Id: Iea49d95b086d32a0ebaf8e9f34fe4556953a0fd5
/frameworks/base/telecomm/java/android/telecom/RemoteConnectionService.java
a98f58b5c1f40aac4f0bfb1500b60310c102480b 08-Nov-2017 Hall Liu <hallliu@google.com> Update Telecom APIs to include multi-hfp

* Add bluetooth devices to CallAudioState
* Add methods for specifying a bluetooth device to InCallService
* Add methods for specifying a bluetooth device to Connection (for
self-managed connections)

Bug: 64767509
Test: unit tests
Change-Id: I286b19b423dc2ee417dbc90eda7e8055b2da2444
/frameworks/base/telecomm/java/android/telecom/RemoteConnectionService.java
fcb1501620a75994a02dd020c9702bb4b0dc0ab5 04-May-2017 Srikanth Chintala <srikchin@codeaurora.org> Emergency redial implementation

Define connection event to notify
Telecom/InCallUi about change in
account handle after redial and extra
for emergency phone handle.

Bug: 27059146
Change-Id: Ie72ab2901ec05d972204ed11f115a05b79173c1d
/frameworks/base/telecomm/java/android/telecom/RemoteConnectionService.java
356322fb1e2cc581bb181f927550843a36aedcea 07-Mar-2017 Tyler Gunn <tgunn@google.com> Merge "API review cleanups/changes." am: 9324d6513b am: dd4bc7c69c
am: c49b011151

Change-Id: Ib3d76474bef8c911b2ec6a61b916e38af0a3b861
159f35c8e4a2d5902cbbeb8d3b9a80bddf247de3 02-Mar-2017 Tyler Gunn <tgunn@google.com> API review cleanups/changes.

- Change onCreateIncomingConnectionFailed/onCreateOutgoingConnectionFailed
to accept the connection mgr phone account as the first parameter.
- For the video APIs, pass the target SDK of the caller into along so
that the Telecom permission check can have fallback behavior for older API
versions.
- Add guidance for how UX should be shown in onShowIncomingCallUi API.
API guidance follows how the Dialer app shows its notification and full
screen UX.

Test: Manual, CTS.
Bug: 35767711
Bug: 35767096
Change-Id: Ib343f0eda1a4d067a38c553f33f140b4efcf3e48
/frameworks/base/telecomm/java/android/telecom/RemoteConnectionService.java
57006aa82a69740df73415a456d31993e2785e24 06-Feb-2017 Hall Liu <hallliu@google.com> Add further Connection-side APIs for RTT (part 2)

Add methods and callbacks to facilitate local and remote RTT initiation
and termination in the middle of a call. Adds @hide Connection-side APIs
to communicate with the ConnectionService, as well as plumbing for
RemoteConnections.

Test: manual, through telecom testapps
Change-Id: Ia80604b7dff8586ff222dbccdbe55e91aab02178
/frameworks/base/telecomm/java/android/telecom/RemoteConnectionService.java
95d5587d0aad9dfd49f798408f4212f95ce68fc7 26-Jan-2017 Hall Liu <hallliu@google.com> Introduce APIs for RTT calls (part 1)

Add signaling methods and data pipes for handling real-time text during
a call.

Change-Id: I876827c448252c5f786d7a4919c47891acb03877
Test: manual, through telecom testapps
/frameworks/base/telecomm/java/android/telecom/RemoteConnectionService.java
bf9c6fdb43413929787ee3abeb76e5aabd1551d8 09-Nov-2016 Tyler Gunn <tgunn@google.com> 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
/frameworks/base/telecomm/java/android/telecom/RemoteConnectionService.java
cd6ccfd23c91b6a1288949e187a1d8896dedd7cd 18-Oct-2016 Tyler Gunn <tgunn@google.com> 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
/frameworks/base/telecomm/java/android/telecom/RemoteConnectionService.java
f50354363c2bace924c6aeea5746b3c690a7108e 09-Jan-2017 Tyler Gunn <tgunn@google.com> 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
/frameworks/base/telecomm/java/android/telecom/RemoteConnectionService.java
4d75bee99b259503d376a7c1604f426001bba75c 28-Oct-2016 Brad Ebinger <breadley@google.com> 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
/frameworks/base/telecomm/java/android/telecom/RemoteConnectionService.java
b32d4f8b5cd5b9c2415e291896b83267e1b4d5fe 25-Oct-2016 Brad Ebinger <breadley@google.com> 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
/frameworks/base/telecomm/java/android/telecom/RemoteConnectionService.java
04ce7578607e022e980f69a45bccfa6f84ad6785 15-Aug-2016 Tyler Gunn <tgunn@google.com> 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
/frameworks/base/telecomm/java/android/telecom/RemoteConnectionService.java
c96b5e087382a2a530e9c8cf8f2e1f8dbfc439c5 08-Jul-2016 Tyler Gunn <tgunn@google.com> 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
/frameworks/base/telecomm/java/android/telecom/RemoteConnectionService.java
720c664401081ca00e56c7eef12641ae792da530 22-Mar-2016 Tyler Gunn <tgunn@google.com> Add connection properties to Connections.

- Per suggestion of API council, moving properties of a Connection from
CAPABILITIES_* to PROPERTIES_*.

Bug: 27458894
Change-Id: Icce921b03cda514a991646ed39a26559c7e91230
/frameworks/base/telecomm/java/android/telecom/RemoteConnectionService.java
dee56a8a79f9daa1e597f5d4f399d3a5feedcac4 24-Mar-2016 Tyler Gunn <tgunn@google.com> Expand call/connection extras API.

Currently, connection extras are propagated up to Telecom as an
entire bundle. This is not ideal, as any time a change is made to
the extras, the bundle needs to be fetched, changed, and then re-set on
the connection, where it is parceled to Telecom as a whole.

Using how extras on an Intent as inspiration, this CL adds separate
putExtras, putExtra, and removeExtra methods to allow manipulation of
the extras bundle without operating on it in its entirety.

This Cl also adds support for Calls modifying the extras bundle, with
changes propagated back down to ConnectionServices.

Bug: 27458894
Change-Id: I152340a3bca2dc03f170b06b172a6823410fb961
/frameworks/base/telecomm/java/android/telecom/RemoteConnectionService.java
876dbfb4767da4a2ba5459d5b78fb6eb55e4516f 14-Mar-2016 Tyler Gunn <tgunn@google.com> Add API support for multi-endpoint.

This CL includes changes required to support multi-endpoint (see the
design doc linked off the bug).

Main changes include:
- support for indicating if a call/connection is "external" to the device.
- support for indicating if an external call can be pulled from the
remote device to the local device.
- API used to initiate a pull of a call external to the current device to
the current device.
- Made the "connection event" API public (was previously @hide); this will
be used to support passing some error events involving pulling calls to
the incall ui.
- Added new InCallService metadata which will be used to determine if an
InCallService wants to be informed of external calls.
- New disconnect causes which will be used to expose the fact that a
multi-endpoint call was answered elsewhere and that a call ended because
it was pulled to another device.
- New call log call types to indicate if calls were answered elsewhere
or pulled to another device.

Bug: 27458894
Change-Id: I423f64ff965b5e50194635a51868c327782db2a1
/frameworks/base/telecomm/java/android/telecom/RemoteConnectionService.java
bd1eb1f105e99d55fe87d758e8eafbe55a221a30 16-Feb-2016 Tyler Gunn <tgunn@google.com> Add new ConnectionEvent API (hide) to send a notification to Telecom

Connection event used to inform Telecom that it should play or stop
the on hold tone. This is used to play or stop a tone when the peer
puts the current call on hold.

BUG=25357778
Change-Id: I2669f8f5062449784a712b9dd28e576326fcc679
/frameworks/base/telecomm/java/android/telecom/RemoteConnectionService.java
6b7f955c2d9b231660b8c54f8ef8e8e6ad802625 28-May-2015 Santos Cordon <santoscordon@google.com> Add extras to Connections/Calls. (1/3)

Two major changes:
1) Add the notion of extras to a Connection. These extras will be
parceled through to InCallService as Call.getExtras()
2) The previously existing Call.getExtras() has been renamed to
getIntentExtras(). This name better describes the fact that these
particular extras are from the original CALL or INCOMING_CALL intents.

Change-Id: I08c1baf4f08d54757f98012f0c08b423a707c53d
/frameworks/base/telecomm/java/android/telecom/RemoteConnectionService.java
b6f9da0b7f26b50163461a767cafcd8014328742 01-May-2015 Prerepa Viswanadham <dham@google.com> Merge commit '17455a3' into master_merge
17455a3d39350a39eb995897929977d793358365 25-Apr-2015 Anthony Lee <anthonylee@google.com> Add plumbing for merge failures and renable button. (3/4)

The merge failure is not plumbed up through any layer that
can trap the callback and act on it. The first part of this
fix is to create that plumbing. Then we need to reenable the
merge button. At this point in time, we leverage the fact
that forcing the call to reassess its capabilities will poke
the InCallUI to reenable the merge button. In the future, we
should plumb the merge failure all the way to InCallUI and
not only handle the button but display UI to the user. The UI
is currently being displayed by CallNotifier which is the wrong
place. See b/20530631 for more details.

Bug: 20229905
Change-Id: I0355ada46b484c6db4bee656c77386dd61be5e1f
/frameworks/base/telecomm/java/android/telecom/RemoteConnectionService.java
6f20a6a2b40e8ff362cf4cad977ebdae5ad999da 16-Apr-2015 Jay Shrauner <shrauner@google.com> DO NOT MERGE Remove connection substate

Bug:20300433
Change-Id: Ifefc08b5165de3e0b6ce92007e5f612879dcc4d9
/frameworks/base/telecomm/java/android/telecom/RemoteConnectionService.java
8f988439247f90633af5fbcc6b18214f3b6f6d31 16-Apr-2015 Jay Shrauner <shrauner@google.com> Remove connection substate

Bug:20300433
Change-Id: Ifefc08b5165de3e0b6ce92007e5f612879dcc4d9
/frameworks/base/telecomm/java/android/telecom/RemoteConnectionService.java
57bf2a8a38e929f00f3323cf97a8ea7a9af900ce 11-Apr-2015 Prerepa Viswanadham <dham@google.com> Merge commit 'e593d0a' into merge_work

Change-Id: I4f8ae40fc446cd9cda4d5c6ec99469a98dda595b
07366813cdf3768dcd69a1f744023747564d654a 25-Mar-2015 Rekha Kumar <rekhak@codeaurora.org> IMS-VT: Upgrade/Downgrade change
-Add isVideo API to VideoProfile.VideoState

IMS-VT: Fix propagation of device orientation.
Orientation received at VT Service is incorrect.
Fixed propagation of device orientation to VT service.

IMS-VT: Upgrade fix
-Add session modify call timed out constant

Notify listeners of video quality changed event
- Propagate the video quality changed message to the UI.

IMS: Add support for video quality
- Add Config interface to get/set video quality

IMS-VT: Multitasking feature
-Support for video multitasking

IMS-VT: Modification of data usage aidl
Change data usage aidl interface to take parameter type long
instead of int

Change-Id: I7cda2a689edb86d025dfe8efc8f573918c4bd6bc

Propagate the call substate changed message to the UI

IMS-VT: Add call modifiable capability

PhoneCapababilities call type modifiable constant added

IMS-VT: Add a bit mask CALL_SUBSTATE_ALL with all call substate bits set

IMS-VT: Enable Video conferencing.

Enable Video conferencing.

Change-Id: I4240aa6f32c75d6eea8a41da3c87bca651f0901b

IMS-VT: Add hide for setVideoProvider API
Observed compilation error for SDK generation due to setVideoProvider
API. Marking setVideoProvider as hide inorder to resolve the
compilation error.

IMS-VT: Add persist.radio.ims.audio.output for VT calls
-- Add persist.radio.ims.audio.output to set the default speaker
for VT calls.
-- Add required constants

IMS-VT: Add additional error codes for upgrade downgrade
-Add support to send additional error codes to UI during
upgrade downgrade.

Change-Id: Id452d225098fe3bccdcd37d242985c5c761144c1
/frameworks/base/telecomm/java/android/telecom/RemoteConnectionService.java
2d3ced758fa42d8a7cf941998355f655ed0bf0b8 01-Feb-2015 Sailesh Nepal <sail@google.com> Don't set address for failed remote connections

We created failed connections we no address attached.
When the connection is sent to RemoteConnectionService
the null address is translated to a setAddress() call.

This causes all failed connections to show up as "unknown".
Fix is to only call setAddress if creating the connection
succeeded.

BUG: 18830726
Change-Id: I680e2fa4c69157a9fdbfa348c6af1f2f87aafd48
/frameworks/base/telecomm/java/android/telecom/RemoteConnectionService.java
11aeae5e46541ce40fa26c678a50ba80780aee34 29-Jan-2015 Sailesh Nepal <sail@google.com> Fix crash when making emergency calls

When making an emergency call the fallback connection
manager would crash. The problem was that the connection
manager would get a setVideoProvider() call even though
it wasn't routing calls.

The root cause of this crash is b/19185063. As a short term
work around I'm adding a null check to avoid the crash.

BUG: 19020123
Change-Id: Ibe4a791882c9b5e21ae629a63f8d89cd3deba828
/frameworks/base/telecomm/java/android/telecom/RemoteConnectionService.java
27d1c2d148fe377ca0d2744f0f85789a42c8f808 16-Dec-2014 Nancy Chen <nancychen@google.com> Pass onPostDialChar call back from Telephony to Telecom.

Add plumbing to alert Telecom every time a character is processed after
the post dial wait state (the processing happens in Telephony).

Bug: 18644688
Change-Id: I487d76aa9c959ca528c6377374aa35c2d0b4a803
/frameworks/base/telecomm/java/android/telecom/RemoteConnectionService.java
5c9c86ec0f95d1f5e1aca212967f508fc736b895 12-Nov-2014 Ihab Awad <ihab@google.com> Telecom API updates (1/6)

Bug: 18292176

Change-Id: I060366234a5a60510c385dc837f2b7e79596eaf5
/frameworks/base/telecomm/java/android/telecom/RemoteConnectionService.java
4a57b9b59b74c97e559a301af0add13cd4c3331c 30-Oct-2014 Tyler Gunn <tgunn@google.com> Creating connections for conference event package participants.

- Add "addExistingConnection" method to connection service which provides
a way for a connection service to notify telecom of a pre-existing
connection (connections are normally created through telecom).
- Modify TelephonyConferenceController to retrieve its state from a
multiparty connection in the conference (in the case of IMS calls, this
would be the ImsCall that manages the conference) instead of just taking
the first one.

Bug: 18057361
Change-Id: I26993aec54ecb0ce90ae6983fd3eed9d8d0a5773
/frameworks/base/telecomm/java/android/telecom/RemoteConnectionService.java
879142bf1c6b72670d4aedac82938f00a97acf5b 08-Oct-2014 mike dooley <mdooley@google.com> Fix hangouts conference calling regression.

Check the connection-by-id hash table instead of conference-by-id hash
table when setting conferenceable connections.

Bug: 17919110
Change-Id: Ia8a5ab3fb96926e600d21eca7737a0044b233563
/frameworks/base/telecomm/java/android/telecom/RemoteConnectionService.java
c3cf982d18e28fc27126265422f36c5e845808db 02-Oct-2014 Yorke Lee <yorkelee@google.com> Add ability to add sim-initiated MO call to UI (2/4)

Add supporting (hidden) APIs to TelecomManager to add the ability to
add a previous unknown call to Telecom

Bug: 17787391

Change-Id: Ibdfaee81a55e11451c146751cf970980dccad435
/frameworks/base/telecomm/java/android/telecom/RemoteConnectionService.java
50e3506533478fa273cbc92c2919470d1889f1ed 30-Sep-2014 Ihab Awad <ihab@google.com> Refine implementation of GSM conferences (1/3)

Bug: 17684223
Change-Id: I05d05b594803ea2c1da4247111b70ad5f870ac46
/frameworks/base/telecomm/java/android/telecom/RemoteConnectionService.java
c2a978dba31f0fc83a7d472e6a78bed165eca610 21-Sep-2014 Sailesh Nepal <sail@google.com> Pass disconnect reason for failed remote connections

If a remote connection fails to create call setDisconnected
instead of setState. This allows us to pass the disconnect
reason.

Note, this CL is very low risk since it only impacts remote
connections.

Bug: 17594857
Change-Id: Id296f3f5a4bb9168b358d3bfda94e04623a6b99c
/frameworks/base/telecomm/java/android/telecom/RemoteConnectionService.java
7f3d41fd124dd7c4a8b72c1d48df08a8ee7209ec 12-Sep-2014 Andrew Lee <anwlee@google.com> Add new DisconnectCause class to telecomm.

+ Add a hidden "UNKNOWN" default type to ToneGenerator.
- Hide the Telephony DisconnectCause from the public API.
+ Add a Telecomm DisconnectCause. This is parcelable, and contains
information (code, user facing message, non-user facing reason,
and tone) to help describe the disconnect state and what behaviors
an application can implement for the user experience. This reduces
the causes for a disconnect to a more generic set.
+ Lots of work to pipe this through. DisconnectCause replaces the
code and message which were formerly passed around.

Bug: 17241433
Bug: 17329632
Change-Id: I9d337e478a8784bcc0ade02267c2df52cac9bf17
/frameworks/base/telecomm/java/android/telecom/RemoteConnectionService.java
ef9f6f957d897ea0ed82114185b8fa3fefd4917b 13-Sep-2014 Tyler Gunn <tgunn@google.com> Renaming Telecomm to Telecom.

- Changing package from android.telecomm to android.telecom
- Changing package from com.android.telecomm to
com.android.server.telecomm.
- Renaming TelecommManager to TelecomManager.

Bug: 17364651
Change-Id: I192cb5d189f55db012ea72ee82ccc5aedbc21638
/frameworks/base/telecomm/java/android/telecom/RemoteConnectionService.java