Add new TelecomManager#getDefaultDialerPackage which is multiuse aware;
this is used when showing the voicemail notification.
Remove some @hide methods from Conference; push these inline.
Move ConferenceParticipantConnection into frameworks/opt/net/ims since
it is just an IMS implementation detail.
Bug: 141576016
Test: Manual smoke test.
Test: Run unit tests.
Test: Run CTS tests.
Change-Id: I39b6955cb14cc1ca68b05c620c3d09a2cdfe30c9
When a device A creates a conference call containing device B and C, both
B and C can receive IMS signaling to indicate that they are in a conference
call. This occurs on most domestic carriers; the Telephony framework
uses the "multiparty" indicator on the IMS call to switch the call to a
conference call.
We made some changes to how conference calls are logged in Q which improves
the accuracy of the call durations. We used to log calls as they're merged
into a conference. In the case of a participant in a remotely hosted
conference call, we'd log the call as soon as they are remotely added
to the conference. This is unfortunate as the call durations are grossly
under-reported.
The conference call logging changes now assume we'll log the conference
event package children in the conference instead of the participants which
merge into the conference itself. On domestic carriers, since the
call on B (or C) becomes a conference, we would then no longer log the
call.
This is FURTHER complicated because on some carriers, B and C will ALSO
receive a conference event package from the network showing all the
participants in the conference. So if B hangs up on the conference, they
will have entries in their call log for A and C, which is really strange
because a call to C was never originated on their device.
In Telecom we need to ensure we do not log remotely hosted conference
participants, and we need to ensure that we DO log a remotely hosted
conference as if its just a single party call.
To accomplish this we need:
1. the address and name display information associated with the call from
A-B / A-C prior to the call turning into a remotely hosted conference.
We need this to log to the call log
2. the remotely hosted conference and participants need to be marked in a
manner that Telecom can identify them.
Test: Manual test.
Test: Add unit test to cover this logging scenario.
Bug: 132325382
Change-Id: I65e713f68d1695a48d96dacbf7faa4476cd8d815
Pipe through the onConnectionEvent call between the conference host
connection and the android.telecom.Conference object.
Fixes: 130404376
Test: manual
Change-Id: Ifad3e59dc9764aa2efb2b9766271e18853bf1c76
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
This patch mainly takes below changes:
1) Add new extra to indicates the call network technology.
2) Provides basic function to set/get call radio technology.
Bug: 67856372
Test: Manual
Change-Id: I1a12382fdb589ce823fe7af025832db4cdc152c2
Change name of conference connection elapsed time method to make it more
clear what it is for. Updated documentation of this method and its
companion to make it more clear what they are for.
Test: Compile - this is a docs and naming change only.
Bug: 70639525
Change-Id: I02662cb0331cba0d1fe2d4353438a68f334f9192
This is important so that Telecom can track the duration of the call,
which is tracked using wall clock time.
Test: Manual, unit test
Bug: 64068300
Change-Id: If642d282cd8134060acf6ffe8d81215c394d800c
In an effort to remove redundant updates to Telecom,
conferenceable connection updates for a conference
were being removed if the list of connections hasn't
changed.
For GSM, when a new outgoing call was placed, it was
added to the conference controller before being added
to the list of connections. The conference controller
was updating the conferenceable connections for that
conference with a connection that wasn't being tracked
yet, so it was not notifying telecom of the connection.
It was still added to the list of conferenceable
connections in the conference, however, so later
conferenceable updates were being disregarded before
being sent to Telecom.
This change removes conferenceable update squelching
so that we always update telecom with the correct
conferencable connections for a conference.
Bug: 37989809
Test: Manual, Procedure in Bug, unit tests
Change-Id: I62960df9db27f0b303431aef99e73ef87498d374
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
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
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
Per feature council decision, the multi-endpoint APIs will be @hide for
the N release.
Bug: 28196918
Change-Id: Ia80b089bc754ce87ca208382eb79442b5265844d
- 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
IMS connection capabilities were not getting
propagated to the upper layers whenever a
capability was added or removed. Adding the
same.
Change-Id: Ic67d76df05c8b2a1b8abaf27f266fe9693764e52
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
Deprecate AudioState class and make methods @SystemApi where
necessary to minimize impact to SystemApi
Replace usages of AudioState inside Telecom sub-systems
Fire both onCallAudioStateChanged and onAudioStateChanged callbacks
for backward compatibility
Support both setAudioState and setCallAudioState for all classes
Bug: 21040387
Bug: 21088300
Change-Id: I3ec7b3afdaa344c6d639d1c421f1842d67f7d0f7
-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
- Added support in Conference for specifying the connect time when the
conference is created.
Bug: 18959443
Change-Id: I501edde3b62f6bf021eb7455089e80626013da12
Get phone account from conference host connection and set
it to ImsConference while constructing
Bug: 18690773
Change-Id: I018a84512eb6ce001a8021d148895bf87dddc2ef
- Added IConferenceable interface used so that connections and conferences
can both be considered candidates as "conferenceable" with a connection.
- Fixed ConnectionService#conference to support cases where either call 1
or call 2 is a conference and the other is a connection. Previously did
not support cases where call 2 is a conference.
Bug: 18200934
Change-Id: I32a8dd30a154d6280f2ae89fd147817235998465
Move the android.telecom.* namespace back to @hide, and also mark it
with @SystemApi so that system-privileged apps can use them.
Bug: 18302450
Change-Id: I33ae1b9b0dfdb1c5eff51ca3c829196bcfc9411c
This change is motivated by a desire to be able to adjust the
phone capabilities of a conference depending on its connections.
Turns out Connection is not a good place to do this, because when
the conference is set, this code is only fired if the connection
service already contains the conference. Conference makes more
sense to do this anyways, at the end of the day.
+ Add onConnectionAdded function to Conference.java.
- Remove onConferenceChanged function from Connection.java.
Bug: 18241753
Change-Id: Ib9212a8483a7a7b542618697399bbab8b2701b04
- 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