Age | Commit message (Collapse) | Author |
|
When an existing connection is added to represent an IMS conference
participant, it is added with an associated parent conference specified.
This was NOT passed along to the connection manager via the
RemoteConnectionService API since there is no equivalent API present for
that operation. To work around this, we stash the parent conference's
ID into the connection extras. We will use that later so that Telecom
can know which conference is the parent of this call.
Also, removing restriction in RemoteConnectionService which would ignore
conferences with no children. This assumption was incorrect for VOLTE
conferences since they will start with no children. As a consequence we
would ALWAYS skip adding IMS conferences to the connection manager, which
would mean that it had no way of knowing about the conference that the
existing connections are associated with.
Test: Manual test with connection manager APIS on live network; make
conference and verify that the correct objects are being created wrapped
by the connection manager.
Bug: 188420526
Change-Id: Ie58afed7a3b7eeaa7e329e80479d273e4c50ec82
Change-Id: I4250f9459c7a1b82936583a10e93d049fdfb4c5d
(cherry picked from commit fdc4bff3198fcaedfa29f45d92525c0351acd583)
|
|
RemoteConnectionService."
|
|
RemoteConnectionService.
Plumb through the adhoc conference APIs via these new APIs.
Bug: 159944852
Test: atest CtsTelecomTestCases:RemoteConnectionTest
Change-Id: Icfa27e0616dd35ba350f7a491e5c95337a286b9d
|
|
This CL improves traceability of calls initiated via a remote connection
service.
For regular incoming/outgoing calls, when initiating a request to create
a remote connection in RemoteConnectionService, we set
EXTRA_REQUESTING_PACKAGE_NAME in the parcelled request to the package name
of the connection manager. In ConnectionService this serves as an
indicator that the incoming request is via a connection manager and is
used to trigger setting of EXTRA_REMOTE_PHONE_ACCOUNT_HANDLE with the
phone account handle the remote connection service uses to place the call.
For conferences and existing connections, the initial request is from
the remote connection service to the connection manager so we can
just set the EXTRA_REMOTE_PHONE_ACCOUNT handle there directly.
Also cleaned up logging in the telecom session logging to remove the
assumption that the ownerInfo is an incall service.
Test: Manual testing with connection manager to verify logging.
Bug: 154353494
Fixes: 155097158
Merged-In: I916750e0f558db1eb9e581bab7a9fbc71f781709
Change-Id: Iee1b5cfd3334a5de08d7b04022b7c6d5af6a4b04
|
|
Bug: 153277327
Fixes: 154245581
Test: atest TelecomUnitTests
Merged-In: Icad12c4144bf185c24ee80bcbdd1aec29550bf4e
Change-Id: Icad12c4144bf185c24ee80bcbdd1aec29550bf4e
|
|
Add support for Adhoc Conference calls
Test: Manual
Bug: 62151032
Change-Id: Id50d235595d2133f867848ffdebdfe11e2f1c896
|
|
The method queryRemoteConnectionServices had the issue that it assumes
there is a single connection manager for the device. This assumption does
not work on a multisim device. Since the ConnectionManager is associated
with a particular carrier, this means that the connection mgr for one
carrier could try to impact calls destined for another carrier.
This change ensures that the calling package is passed into Telecom so
that we can determine which RemoteConnectionServices which are available to
the calling connection manager.
Test: Manual test on DSDS with a connection mgr carrier and another carrier.
Bug: 131856987
Change-Id: I46d80dc68adaab7fd4374f023d7ba4242804c253
|
|
Adding @hide APIs which Telephony can use to make a conference call with
a single participant look like its a standalone call.
Test: Manual testing
Bug: 75975913
Change-Id: Id8532234ab295785fc749b120898f43911e12637
|
|
In android original design, the duration of CDMA MO call is started from
the dial command sent, so it is not the real duration of the active time.
In this patch, a new message is registered to listen the event of the call
accepted, and then reset the duration when the event happens.
Change-Id: Icc447012030ae243f200ec2c83b7d5210af9b31c
|
|
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: I658aab10b1fb89ca29c39338febcc76e9f50d8f4
|
|
This add new api interface to ConnectionService to support the
connection service focus api.
Bug: 69651192
Test: manually
Change-Id: Iea49d95b086d32a0ebaf8e9f34fe4556953a0fd5
Merged-In: Iea49d95b086d32a0ebaf8e9f34fe4556953a0fd5
|
|
* 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
|
|
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
|
|
am: c49b011151
Change-Id: Ib3d76474bef8c911b2ec6a61b916e38af0a3b861
|
|
- 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
|
|
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
|
|
Add signaling methods and data pipes for handling real-time text during
a call.
Change-Id: I876827c448252c5f786d7a4919c47891acb03877
Test: manual, through telecom testapps
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
- Per suggestion of API council, moving properties of a Connection from
CAPABILITIES_* to PROPERTIES_*.
Bug: 27458894
Change-Id: Icce921b03cda514a991646ed39a26559c7e91230
|
|
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
|
|
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
|
|
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
|
|
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
|
|
|
|
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
|
|
Bug:20300433
Change-Id: Ifefc08b5165de3e0b6ce92007e5f612879dcc4d9
|
|
Bug:20300433
Change-Id: Ifefc08b5165de3e0b6ce92007e5f612879dcc4d9
|
|
Change-Id: I4f8ae40fc446cd9cda4d5c6ec99469a98dda595b
|
|
-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
|
|
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
|
|
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
|
|
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
|
|
Bug: 18292176
Change-Id: I060366234a5a60510c385dc837f2b7e79596eaf5
|
|
- 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
|
|
Check the connection-by-id hash table instead of conference-by-id hash
table when setting conferenceable connections.
Bug: 17919110
Change-Id: Ia8a5ab3fb96926e600d21eca7737a0044b233563
|
|
Add supporting (hidden) APIs to TelecomManager to add the ability to
add a previous unknown call to Telecom
Bug: 17787391
Change-Id: Ibdfaee81a55e11451c146751cf970980dccad435
|
|
Bug: 17684223
Change-Id: I05d05b594803ea2c1da4247111b70ad5f870ac46
|
|
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
|
|
+ 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
|
|
- 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
|