Commit Graph

1491 Commits

Author SHA1 Message Date
Tyler Gunn
7fceb2018e Merge "Fix bugs with Remote Connection Services." into qt-dev 2019-06-01 23:52:16 +00:00
Tyler Gunn
156a33b9a8 Fix bugs with Remote Connection Services.
1. A previous change was made in ConnectionServiceAdapterServant to add
another parameter, requiring the user of SomeArgs.  I think this fix is
pretty self-explanatory.  (facepalm)
2. queryRemoteConnectionServices in ConnectionServiceAdapter had an issue
where the callback would not get called if there was more than one
IConnectionServiceAdapter instances.  This isn't an error condition, but
a condition where we don't query telecom for the list of valid remote
connection services.  We ensure a callback with an empty list is made
(this is similar to what Telecom already does).
This seems to be an issue inherent with DSDS because there can be multiple
SIM ConnectionServices where before there was only one.

Test: Run CTS tests.
Bug: 133639062
Change-Id: I1c508e97d1f0ea1bc72ad7ebd026c1ad66a52de3
2019-05-31 17:53:48 -07:00
TreeHugger Robot
d28f0c8c78 Merge "Enhancements to conference for non-conference host scenarios." into qt-dev 2019-05-31 22:42:43 +00:00
Tyler Gunn
ac60f9554e Enhancements to conference for non-conference host scenarios.
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
2019-05-31 12:45:19 -07:00
Brad Ebinger
3636d74ead Add CAPABILITY_EMERGENCY_PREFERRED in PhoneAccount
Allow Telephony to mark a SIM PhoneAccount as
emergency preferred, meaning that Telecom will
override a user's PhoneAccount preference for
emergency calls if the PhoneAccount has the
CAPABILITY_EMERGENCY_PREFERRED capability.

Bug: 131203278
Test: Manual testing, Telecom/Telephony unit testing
Change-Id: I88b8bbfa444f5445b2f0d6a1542c6406a19b240f
2019-05-22 19:52:01 +00:00
Tyler Gunn
ac9d572269 Merge "Make queryRemoteConnectionServices DSDS aware." into qt-dev 2019-05-21 15:18:59 +00:00
Tyler Gunn
4c69fb3d7b Make queryRemoteConnectionServices DSDS aware.
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
2019-05-17 10:49:38 -07:00
Ian Pedowitz
3bd719b534 Merge "Revert "Revert "Remove deprecated System APIs added in Q.""" into qt-dev 2019-05-15 16:28:54 +00:00
Tyler Gunn
f18ee4c9b8 Update API docs for TelecomManager#endCall.
Make it clear that ending an emergency call is not possible with this
method.

Test: Compile; this is a docs change.
Bug: 132438333
Change-Id: I736b90e31723ee2055cedf16142c4d0f494bf49b
2019-05-14 11:08:06 -07:00
Suprabh Shukla
169bed7b7a Revert "Revert "Remove deprecated System APIs added in Q.""
This reverts commit 79a19effee.

Bug: 129975435
Change-Id: I113c87f8c0b7ab225e4b99ef2462ae12e199b816
2019-05-13 21:04:39 +00:00
TreeHugger Robot
5968659e8f Merge changes from topics "role-dialer-dialog", "role-sms-dialog" into qt-dev
* changes:
  Deprecate intent action to the old changing default dialer/SMS dialogs.
  Remove TelecomManager.ACTION_CHANGE_DEFAULT_DIALER for apps targeting Q.
  Remove Telephony.Sms.Intents.ACTION_CHANGE_DEFAULT for apps targeting Q.
2019-05-11 03:01:50 +00:00
Hai Zhang
929085f3c3 Deprecate intent action to the old changing default dialer/SMS dialogs.
Bug: 124452117
Bug: 131204827
Test: presubmit
Change-Id: Iee636cf2dbcf4bdda5fc487d6883591e9463b0af
2019-05-10 17:48:30 -07:00
Brad Ebinger
e7833312d7 Make getSimCallManager msim aware
When there are multiple subscriptions available,
the SIM call manager is currently resolved based
on what the default voice subscription is. Add the
ability for TelecomManager to get the SIM call
manager for a Telephony subscription ID.

Test: Manual; atest TelecomUnitTests
Bug: 131627085
Change-Id: I748fcebb44f07fbc9deef0c6a07d2f15a44b22d3
2019-05-10 00:08:20 +00:00
Ian Pedowitz
8b3b7771c1 Merge "Revert "RESTRICT AUTOMERGE Remove deprecated System APIs added in Q."" into qt-dev 2019-05-02 00:59:09 +00:00
Ian Pedowitz
79a19effee Revert "RESTRICT AUTOMERGE Remove deprecated System APIs added in Q."
This reverts commit 02014297fd.

Reason for revert: QT SDK Finalization. Will be merged again on/after May 13th

Bug: 129975435
Change-Id: Ia054b193a982dee669630555974d2d7831fe2b50
2019-05-02 00:54:39 +00:00
Ian Pedowitz
3f38719b74 Merge "RESTRICT AUTOMERGE Remove deprecated System APIs added in Q." into qt-dev 2019-05-02 00:53:29 +00:00
Tyler Gunn
425dac52b0 Change command like set-default-dialer to be a test override.
RoleManager likes to terminate apps when roles are changed which does
not work in CTS tests.  We need to use a temp override in Telecom
for now.

Test: Run the CTS tests over, and over and over again.
Bug: 131065482
Change-Id: Id36942f2813abdfa0020ce4805c492a69bd07d0e
(cherry picked from commit 509ef150f2)
2019-04-30 20:26:47 +00:00
Sudheer Shanka
02014297fd RESTRICT AUTOMERGE Remove deprecated System APIs added in Q.
Test: Builds, boots
Bug: 129975435
Change-Id: I4bfd0bfbbc52b7822477ec0c70a08de6f85a3672
2019-04-30 10:49:28 -07:00
Hall Liu
8dd5bbbdf5 Merge "Make connection events work for conferences" into qt-dev 2019-04-17 18:19:52 +00:00
Hall Liu
c9bc1c6639 Make connection events work for conferences
Pipe through the onConnectionEvent call between the conference host
connection and the android.telecom.Conference object.

Fixes: 130404376
Test: manual
Change-Id: Ifad3e59dc9764aa2efb2b9766271e18853bf1c76
2019-04-16 15:06:13 -07:00
Tyler Gunn
b1145bd87e Merge "Add PhoneAccountHandle method to check if 2 accts are from same CS." into qt-dev 2019-04-16 14:16:33 +00:00
Tyler Gunn
c7d1078468 Add PhoneAccountHandle method to check if 2 accts are from same CS.
Add a new PhoneAccountHandle method to check if 2 phone account handles
are from the same connectionservice (package).

Test: Manual testing.
Test: Added new unit tests for this new method.
Bug: 129505115
Change-Id: I85eca54340e79d4a4f189188ae787201bab1724e
2019-04-15 17:59:34 +00:00
Tyler Gunn
556d24003a Telecom API doc cleanup.
InCallService - remove references to roles cut in Q release.
TelecomManager - make it more clear how to use the silenceRinger method
and under which conditions it should be used.

Test: Compile; docs only.
Fixes: 130285730
Change-Id: I55f9c2df119140666f8167e8521a4372d1108e7a
2019-04-11 21:30:39 +00:00
Shuo Qian
2a5098f888 Use Received Uri as Gateway Uri
Gateway information is the core component to perform redirection.
We should clarify the uri we received from
 CallRedirectionService is gateway Uri. And apply it in Telecom.

Test: Treehugger; Manual
Bug: 130048865
Change-Id: I3599377406b88751ee11139e9a1aa5afab734f7c
Merged-In: I3599377406b88751ee11139e9a1aa5afab734f7c
2019-04-09 22:57:58 +00:00
sqian
87833ee867 Fix documentation of CallRedirectionService
Test: sanity
Bug: 130026756
Change-Id: I48f60b3c4a465e22250aa513a4d7d73f82375426
2019-04-05 16:23:37 +00:00
Tyler Gunn
a842e76231 Remove call identification APIs.
Removing the CallIdentification API surface.

Test: Build, run tests.
Bug: 129531123
Change-Id: I5f1451ffba04ee438df739a17472c028c44f19b2
2019-04-01 17:27:12 -07:00
Andrei Onea
e30e3928f9 Add @UnsupportedAppUsage annotations
For packages:
  android.companion
  android.filterfw
  android.hardware.camera2.utils
  android.inputmethodservice
  android.net.nsd
  android.os
  android.preference
  android.security.keymaster
  android.service.dreams
  android.telecom
  android.telephony.ims.compat.feature
  android.telephony
  android.util
  android.view.accessibility
  android.media.effect

This is an automatically generated CL. See go/UnsupportedAppUsage
for more details.

Exempted-From-Owner-Approval: Mechanical changes to the codebase
which have been approved by Android API council and announced on
android-eng@

Bug: 110868826
Test: m
Change-Id: I9c2f8347952f3cc65759472b0e1a2717b285e44e
2019-03-21 14:04:57 +00:00
Usman Abdullah
3783c597bf Merge "Add silence support to CallScreeningService/Call API" 2019-03-18 19:33:33 +00:00
sqian
c5f311086f Merge "CallRedirectionService API review" am: 1276a178fd am: de633a49f1
am: b09f8d20e3

Change-Id: I184b51e7aa8816fd0e46d2492222cf617b13eba5
2019-03-15 20:20:28 -07:00
sqian
de633a49f1 Merge "CallRedirectionService API review"
am: 1276a178fd

Change-Id: I4509bfabae430b97ee82c2939b9099dc5767f44a
2019-03-15 19:56:23 -07:00
Treehugger Robot
1276a178fd Merge "CallRedirectionService API review" 2019-03-16 02:42:29 +00:00
Tyler Gunn
36be86b977 Merge "Cleanup unsupported appusage in Telecom apis." am: 90723afa47 am: 545bace60f
am: 77b1dfa56a

Change-Id: I54a446eaf8c22149f6df5c2f677eb8b5072deda6
2019-03-15 17:18:40 -07:00
Tyler Gunn
545bace60f Merge "Cleanup unsupported appusage in Telecom apis."
am: 90723afa47

Change-Id: If983c7a0351138fcfb35d9060b0c17c7b9e2c69f
2019-03-15 16:51:04 -07:00
Tyler Gunn
90723afa47 Merge "Cleanup unsupported appusage in Telecom apis." 2019-03-15 23:36:21 +00:00
sqian
b8cbc4e27d CallRedirectionService API review
Bug: 126699669
Test: Treehugger
Change-Id: I56944f6d487660ed447d081b6dfd2cb625087869
2019-03-15 12:57:47 -07:00
sqian
9e570ed776 Merge "API review: Telecom outgoing call Call redirection API" am: bac4d5b257 am: bcd431fd2f
am: 560e527933

Change-Id: If87e420ad10ec7ed726942a8e2c33d8e56786e29
2019-03-14 19:46:09 -07:00
sqian
bcd431fd2f Merge "API review: Telecom outgoing call Call redirection API"
am: bac4d5b257

Change-Id: Ia2b1be5f130c673bb691d9b54c7d9498ccd9472b
2019-03-14 19:24:32 -07:00
Treehugger Robot
bac4d5b257 Merge "API review: Telecom outgoing call Call redirection API" 2019-03-15 02:07:46 +00:00
Usman Abdullah
47b392db45 Add silence support to CallScreeningService/Call API
Test: CTS
Test: Unit Tests
Test: Manual
Bug: 126590377
Bug: 122671585

Change-Id: I4e7c67784198678eef1926759ec1d8afb98438f4
2019-03-14 14:02:23 -07:00
sqian
140d648611 API review: Telecom outgoing call Call redirection API
Bug: 126360354
Test: Treehugger
Change-Id: Id5b0b4aecb33ba4dc9629cc6bd2bb8836aedc653
2019-03-13 22:47:00 -07:00
Hall Liu
f5ba1c6268 Merge "Fix issues associated with hold failure" am: df6e5604f3 am: 9fefce6df5
am: c3557eb639

Change-Id: I82de9a1462a18707a6a9410e78f72b6908d6ee7a
2019-03-13 14:59:32 -07:00
Hall Liu
9fefce6df5 Merge "Fix issues associated with hold failure"
am: df6e5604f3

Change-Id: I0c3ca2ef55a67b1f2c00f19635dcfd8ed0bbedea
2019-03-13 14:32:28 -07:00
Hall Liu
df6e5604f3 Merge "Fix issues associated with hold failure" 2019-03-13 21:18:53 +00:00
Tyler Gunn
2c8143bae2 Merge "Remove support for event-based handovers." am: b2c1daf861 am: 3e232b28af
am: 4b4d6f3072

Change-Id: I65d196d86eeda26c757adce77119cd5f62e9fbce
2019-03-13 08:38:25 -07:00
Tyler Gunn
3e232b28af Merge "Remove support for event-based handovers."
am: b2c1daf861

Change-Id: I03aea3dffd4a7d1af24d281826f87945441d6d14
2019-03-13 08:17:56 -07:00
Tyler Gunn
9ae6db8a7c Remove support for event-based handovers.
Public APIs have been available for 2 releases; removing support
for the EXTRA/EVENT-based handovers.

Test: Manual
Bug: 110846969
Change-Id: I4747a509a9fd4d41c161febb78fbb7e4e11699f2
2019-03-12 20:45:32 +00:00
Hall Liu
06ae75bf51 Fix issues associated with hold failure
Add new connection event to indicate hold failure

Fixes: 128275255
Test: manual
Change-Id: I2678cda12d7703eba37d3feca3a8d98b21c050b1
2019-03-11 19:11:35 -07:00
TreeHugger Robot
9b9406f8c1 Merge "Use a boolean Consumer instead of RoleManagerCallback." 2019-03-11 17:22:40 +00:00
Tyler Gunn
061317ba27 Merge "Remove TelecomManager#EXTRA_IS_ENABLED." 2019-03-11 14:40:28 +00:00
Hai Zhang
f5e8ccd88f Use a boolean Consumer instead of RoleManagerCallback.
And use RemoteCallback for it under the hood. This removes one AIDL
interface and allows using lambda, while aligning with what
PermissionControllerService does.

Bug: 127691087
Test: manual
Change-Id: Ia94e5bac59773380b2a4764d766bf6ff1dd5b7ff
2019-03-08 15:51:02 -08:00