History log of /packages/services/Telephony/src/com/android/services/telephony/TelephonyConferenceController.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
53318b0a452638f1a84e7c7a6a9c3181c0769d07 13-Sep-2017 Pengquan Meng <mpq@google.com> Merge "Fix merge button is shown after reaching maximum conference call size"
2740abc7c89ec86a09051e62577fa6e56a64b6fe 10-Jan-2017 Mengjun Leng <mengju@codeaurora.org> Fix merge button is shown after reaching maximum conference call size

After reaching maximum conference call size allowed, the conferenceable
connection size is zero, the conference controller does not reset
conferenable connection for the conferenced connection so that can merge
the call due to have the capbility.

To avoid it, assgin empty conferenceable connection for the conferenced
connection after it is full.

Change-Id: I035951a982181396d538519a6e15ed4836a6b4bd
/packages/services/Telephony/src/com/android/services/telephony/TelephonyConferenceController.java
073e3ba3388f0329acfab2127a0e2811c2c91750 06-Dec-2016 shuoq <shuoq@google.com> Adding unit test for TelephonyConferenceController

Changes for testing:
- create some Mock/Proxy class for using/testing some final public api
- modify several parts to inject Proxy for testing

Test: Adding unit test for TelephonyConferenceControllerTest.java

Change-Id: Icdb0ebaf8bdd6ec434804302b08550b6052f428f
/packages/services/Telephony/src/com/android/services/telephony/TelephonyConferenceController.java
be89962c279f43a49fd66d8af8345767a9f23039 08-Sep-2016 Tyler Gunn <tgunn@google.com> Cleanup Connections in conference controllers on CDMA<-->GSM change.

When a call switches technology between CDMA and GSM, the
TelephonyConnectionService will end up re-adding it to the appropriate
conference controller due to the original connection change. This is
problematic, as it means that the connection will still be tracked by the
conference controller of its previous technology. Worse yet, if a call
makes a GSM-->CDMA-->GSM transition, it will be added again to the
GSM call tracker.

There is still an underlying issue in that the TelephonyConnection subclass
type doesn't change when the radio technology changes -- that is a larger
issue to solve and should be addressed at some point (ie not now).

To fix this, added code to ensure that connections are removed from other
conference controllers when added, and also to prevent adding duplicates.

Bug: 31288401
Change-Id: I5e95d4f72be6af473eeec1b92f47ad77a783c9b2
/packages/services/Telephony/src/com/android/services/telephony/TelephonyConferenceController.java
85ada827d35e75dfa1ea4834ca3a4869237d42ae 04-Aug-2016 Brad Ebinger <breadley@google.com> Fix incorrect conferenceableCalls update

Fix recalculateConferenceable() to not differentiate Connferenceables by
whether or not they are currently in the active/background, since it has
no bearing on whether or not a Conferenceable is mergeable with another
Conferenceable. This allows us to send less updates to the
InCallServices when swapping calls in IMS.

Bug: 30676004
Change-Id: I6190364e902941e2969cced7a66e52f00be57064
/packages/services/Telephony/src/com/android/services/telephony/TelephonyConferenceController.java
9cf11515781910c7fda66a8a27a0fa14ab1ed2af 09-Nov-2015 Amit Mahajan <amitmahajan@google.com> Phone refactor (merging Gsm and Cdma phones)

Bug: 25793157
Change-Id: I8539846dcb8a3a8971616e63aa8b373ab1032259
/packages/services/Telephony/src/com/android/services/telephony/TelephonyConferenceController.java
696e618d6684ceed1b5f4a26fc493a7e4db7ab65 15-Sep-2015 Tyler Gunn <tgunn@google.com> Ensure target phone account is set for all conference types.

- Fixed issue where ImsConference based the phone account handle on the
ImsPhone, rather than the base Gsm/Cdma phone.
- CDMA and GSM conferences were setting phone account handle as null.

Bug: 23035408
Change-Id: Iba4b674b3fe73a8cc8e43da4af7e36f653e3772e
/packages/services/Telephony/src/com/android/services/telephony/TelephonyConferenceController.java
64220bcfad27244b223f9c4377b85e1be95ca328 20-Aug-2015 Tyler Gunn <tgunn@google.com> Support connections which do not allow conferencing.

Check carrier config in TelecomAccountRegistry when registering
PhoneAccounts. When creating new TelephonyConnections, set a propery
on the connection to indicate whether it supports conferencing. This is
then used in the conference controllers to determine whether a particular
connection can be in a conference with another connection or not.

Bug: 22864941
Change-Id: I199cbc1c9ad575732c5601a9bb587c8bca4815da
/packages/services/Telephony/src/com/android/services/telephony/TelephonyConferenceController.java
cd3b79cc1d3fbb5f77ab17fc2756c75fe7ff9ef7 20-Nov-2014 Shriram Ganesh <sganesh@codeaurora.org> SRVCC Conference call scenarios with mid-call enabled.

1. Disconnect all IMS conference participants on Handover. Create a
telephony connection out of the original connection part of
IMS conference host and add that to Connection Service as an
existing connection. Add the new Telephony connection to the
conference controller.

Telephony Conference controller delays the attempt to add the
conference to the connection service, until all the participants
are already part of the ConnectionService.

Retrigger the conference recalculation of conference controller
after a Unknown connection is added to ConnectionService.

2. Add support for SRVCC conference with greater than 3 participants

After the Gsm Conference object is created with the first two
participants, delay adding the subsequent unknown connections to
the conference until the connections are added to connection
service.

3. Add support for using the CS connection address during SRVCC

The check for pre-handover state is only applicable to IMS
connection. Compare the state of new handover connection with
pre-handover state of Ims Connection to process the correct update
corresponding to the TelephonyConnection.

Change-Id: I2ab2ee02a83bf8555856ccdba3de0aae75041f9b
/packages/services/Telephony/src/com/android/services/telephony/TelephonyConferenceController.java
2c248f38ac4c7fefc50fb9c595b6cbf2798c0632 19-Nov-2014 Tyler Gunn <tgunn@google.com> Create IMSConference to represent IMS conference calls.

- ImsConference contains a "host" connection which is the radio connection
to the IMS conference server.
When a new ImsConference is created, we wrap the radio connection in a
new TelephonyConnection which is not added to Telecom; this is stored in
the ImsConference and provides a means for the conference to be notified
of disconnect/hold of the conference connection.
Next, the original TelephonyConnection is disconnected and the conference
is added to Telecom.
- The ImsConference manages its own conference participants directly
rather than through the ImsConference controller.
- Added a new ImsConferenceController since it is sufficiently different
from how the generic TelephonyConferenceController works.

Bug: 18200934
Change-Id: Ia32c2111173c69be7b05ed76a038fb571c2e726b
/packages/services/Telephony/src/com/android/services/telephony/TelephonyConferenceController.java
de57ce8167f7c08f9dccefa976cd12155dfd85b8 10-Nov-2014 Santos Cordon <santoscordon@google.com> Merge "Calculate conferenceable after conference." into lmp-mr1-dev
5b177a6b5f9d8a9aa3f4d1877de521c30ba42e57 08-Nov-2014 Santos Cordon <santoscordon@google.com> Calculate conferenceable after conference.

We need to calculate conference children before calculating
conferenceability. Without doing this, a conference was in a scenario
where it was conferenceable with one of it's children and the ui showed
merge when it should not have.

Bug: 18285352
Change-Id: I67861003f98cf77fae5b7071c73609e0ef3dd5cb
/packages/services/Telephony/src/com/android/services/telephony/TelephonyConferenceController.java
ad6f3dce3b32d69fb2a353753163358f88708405 07-Nov-2014 Tyler Gunn <tgunn@google.com> Conference event package performance improvement.

- Instead of sending each participant to the telephony conference
controller, all participants are sent at once. This way the conference
only needs to be recalculated once.
- New connections are created with state NEW so that they are not shown
in the InCall UI.
- Once the conference is established, the state of the connections is
set appropriately based on the information in the conference event
package.

Bug: 18057361
Change-Id: Ibdb5cb940f15ab6d872bf1ef8c99a1a9ebae7b6e
/packages/services/Telephony/src/com/android/services/telephony/TelephonyConferenceController.java
bfc5d010e0c313a081fce393504133b91190fe39 04-Nov-2014 Tyler Gunn <tgunn@google.com> Various conference event package changes.

- Handle conference event package indicating a participant has been
disconnected by calling "destroy" in ConferenceParticipantConnection.
- In TelephonyConferenceController, once all telephony connections have
been disconnected, disconnect all conference participants.
- In TelephonyConferenceController, changed the criteria of when a
conference has ended to be: < 2 connections for GSM, or < 1 connection for
IMS.
- Add "onDisconnectConferenceParticipant" method to TelephonyConnection so
that a ConferenceParticipantConnection can be disconnected via its
parent, which is a TelephonyConnection.

Bug: 18175912
Bug: 18228141
Bug: 18176606

Change-Id: Id6c6d3ace850f28eb4f0030cf49f1b2521b6d974
/packages/services/Telephony/src/com/android/services/telephony/TelephonyConferenceController.java
b4edaf1c5ff88460e4b3d8161e390567ce4cef34 30-Oct-2014 Tyler Gunn <tgunn@google.com> Creating connections for conference event package participants.

- Add "getPrimaryConnection" method to conferences. This method is used
to get the primary connection from which the conference state will be
retrieved. In the case of IMS we look for the connection which is marked
as multiparty.
- Modify telephony conference controller to create participant
connections and add them to the conference.

Bug: 18057361
Change-Id: I585878aae73594057f284044c4da736694bf9a76
/packages/services/Telephony/src/com/android/services/telephony/TelephonyConferenceController.java
a1079194649f48af827eb879e32af661d716116f 29-Oct-2014 Tyler Gunn <tgunn@google.com> Communicating participant changes to conference controller.

- Add new ConferenceParticipantConnection to represent a participant.
- Add event handlers to pass participant to conference controller.
- Create new connections for participants in conference controller.

Bug: 18057361
Change-Id: I5bee6cd08554dcea64f7eab915c9ce463ddb9879
/packages/services/Telephony/src/com/android/services/telephony/TelephonyConferenceController.java
d592f5ea7421a9df8ea76866e4bdc6509e35c0af 22-Oct-2014 Andrew Lee <anwlee@google.com> Fix compile error on ConferenceController.

Bug: 18062269
Change-Id: I0c1ac30b060ae0bd3f9d0904df64b384d7b2b33f
/packages/services/Telephony/src/com/android/services/telephony/TelephonyConferenceController.java
e0579cd4fe5ff4236d9684de1af27ef49564828c 21-Oct-2014 Andrew Lee <anwlee@google.com> Convert GsmConference into more generic TelephonyConference.

+ Retype Conference and Controller to handle TelephonyConnections
rather than GsmConferences.
+ Rename classes.
+ Add connections to TelephonyConference if IMS is supported, and
the original connections are IMS connections (even if the
TelephonyConnections are CdmaConnections).
+ I haven't been able to test these VOLTE changes on CDMA because
of network instability. For existing GSM calls, TelephonyConference,
and TelephonyConferenceController should not cause any changes. We
need to verify that these work properly with IMS on CDMA phones.

Bug: 18062269
Change-Id: I2d7f717b2560b69c6579072dcdd5bec583062b38
/packages/services/Telephony/src/com/android/services/telephony/TelephonyConferenceController.java