1047 Commits

Author SHA1 Message Date
Tyler Gunn
7661e81f85 Merge "Add logging and disconnect reason for null connections." 2017-12-21 19:39:32 +00:00
Sanket Padawe
02d8c276d9 Receiving side Call handover API implementation.
Bug: 65415068
Test: Manual

Design doc:
https://docs.google.com/document/d/1qY3oAzjff_4A1ttYb_CGrE_OwTRmXMG_KGsIuPT1ey8/edit#Bug:

Change-Id: Ic0c4af19098252389648007628affc19a44f89dd
Merged-in: Ic0c4af19098252389648007628affc19a44f89dd
2017-12-20 10:13:05 -08:00
Sanket Padawe
85291f63c9 Implement Call handover initiation side APIs.
Bug: 65415068
Test: Manual

Design doc:
https://docs.google.com/document/d/1qY3oAzjff_4A1ttYb_CGrE_OwTRmXMG_KGsIuPT1ey8/edit#

Change-Id: I692bb14fba66733154378c2dda525aa85c471a38
Merged-in: I692bb14fba66733154378c2dda525aa85c471a38
2017-12-19 16:32:24 -08:00
Tyler Gunn
fba1a8e61a Add logging and disconnect reason for null connections.
When a ConnectionService implementation returns a null connection, log this
and also set a unique disconnect reason to indicate in the telecom
dumpsys what happened.

Test: Manual
Bug: 70385625
Change-Id: Iff9846d434d400c4cf036e9ac46167cfb6f6b58c
2017-12-19 15:23:59 -08:00
Eric Erfanian
ec88187e62 Add assisted dialing properties to the framework.
These properties allow the feature to be propogated from
the outgoing call broadcast, to the connection, to the call,
and finally to the call log as a feature.

Test: no existing unit tests found. could use some pointers
Bug: 35963245
Change-Id: I3ed8ac5ad7300c44f87e2573d9409b3a92b98ab6
Merged-In: I84343fb0cda16514c01997fd71d1e819b5b7eebb
2017-12-12 09:45:01 -08:00
Hall Liu
47ed62080f Add CarrierConfig key for RTT support
Add the carrier config key.

Test: add fake support for some random carrier, look for the capability
Bug: 63934808
Change-Id: I8a0e33a7ac10fbdcad356059913e7ddcba26bb6c
2017-12-11 14:41:31 -08:00
Jeff Sharkey
983df8cc6c Massage APIs for upcoming doclava change.
These changes are needed to ensure that "checkapi" doesn't claim
that we're changing the API after an upcoming doclava change.

Test: manual inspection of API text files
Bug: 69505783
Change-Id: I8292ba80cc65b7dd78f0e9dba4fcc7ffcedfab9c
Merged-In: I8292ba80cc65b7dd78f0e9dba4fcc7ffcedfab9c
2017-12-06 21:55:57 -07:00
Tyler Gunn
80bfc216ca Merge "Add missing } on @link tag."
am: 31b0c6fb32

Change-Id: I2249cab4a50a9788cd8decb23fd8c60419ab6c21
2017-11-17 19:27:12 +00:00
Tyler Gunn
94ffde79b3 Add missing } on @link tag.
Test: Compiled code (this is a non-code change).
Bug: 69439905
Change-Id: I334ef7d74ac9802378b43a8f95979dcaf82c592f
2017-11-17 08:36:41 -08:00
Sanket Padawe
c376ca6bc1 Merge "API declarations for Call Handover."
am: d88abc7b60

Change-Id: I0be6f240073408bf9520766238ecf791c016a40b
2017-11-16 01:45:25 +00:00
Sanket Padawe
a8eddd48c4 API declarations for Call Handover.
Design doc:
https://docs.google.com/document/d/1qY3oAzjff_4A1ttYb_CGrE_OwTRmXMG_KGsIuPT1ey8/edit#

Bug: 65415068
Test: manual.
Change-Id: I0c2f561d92ad6504f858eadde09980fc1ce8727f
2017-11-15 13:41:05 -08:00
Xin Li
220871a697 Merge commit '98e12851336b7db16e583f9afac63ecc97465980' from
oc-mr1-dev-plus-aosp-without-vendor into stage-aosp-master.

Change-Id: Ia7b8da4a00d215160e4a4fa40f6044208d1297b7
Merged-In: I19846d2a3ee27aecbae2367a74ee49082eea154d
2017-11-14 12:31:11 -08:00
Hall Liu
a98f58b5c1 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
2017-11-09 15:54:50 -08:00
Tyler Gunn
79e2bf90c3 Prevent INTERACT_ACROSS_USERS exception in DefaultDialerManager.
When TelecomManager methods perform a read phonestate check from a work
profile user, it is possible to get an INTERACT_ACROSS_USERS exception.
This is due to the fact that the filterByIntent method was not calling
queryIntentActivitiesAsUser.

Test: Manual
Bug: 31304557
Merged-In: I6bc7419ba260050281d83e33f7f328ec5ccb3cd8
Change-Id: I2a1869162e5a52aed986a99cc378a6c630af4a70
2017-10-27 13:02:46 -07:00
Tyler Gunn
0a88f2e21b Ensure CallId is not null when connection creation is complete.
When calling "get" on the mConnectoinById map, a null callId will result
in an NPE.

In findConnectionForAction, defaulting to returning the "null" connection
which is the same behavior as if it isn't found.
In notifyCreateConnectionComplete, specifically checking if the callId
is null and skipping the onCreateConnectionComplete callback.
This scenario is possible if the connection is remove from the
ConnectionService before the connection complete callback comes back from
Telecom.

Test: Manual
Fixes: 62588734
Merged-In: I1de7a0a4cc9c630019e38b8154bfc1d470f56ae3
Change-Id: Ie610c51155ed417e0f916000fe20e4484bdb6603
2017-10-27 10:55:05 -07:00
Tony Mak
c5145fa25a Merge "getInstalledDialerApplications should not count ForwardIntentToParent" into oc-mr1-dev
am: 72befffcbc

Change-Id: Id711312d9bf0c6fe22cf93a166e533d9acf97452
2017-09-15 19:40:43 +00:00
Tony Mak
39198faea1 getInstalledDialerApplications should not count ForwardIntentToParent
Issues:
1. Work profile call is logged into work profile side even there
is no work profile dialer.
2. In Settings, "Android" is shown as the default work profile dialer.

Cause:
When are querying installed dialers in work profile,
getInstalledDialerApplications return android/ForwardIntentToParent
because we forward calls to personal side if work dialer
is absent. But apparently, ForwardIntentToParent is not an installed
dialer in work profile. So Settings shows "Android" as default work
dialer and Telecom wrongly think that we have work dialer and insert
calllog in to work profile side.

Solution:
Ignore cross profile resolver by checking targetUserId.


Test: Manual
1. Check Settings, no longer see "Android" is set as work dialer.
2. Make a phone call using work contacts, observed that the call
   is inserted into persoonal side.
3. Make a phone call using personal side, observed that the call
   is inserted into personal side.

BUG: 65672386

Change-Id: I13d4234ad1684f714e1b4d7704f2413d903a0179
2017-09-15 17:52:16 +01:00
Sanket Padawe
957bb655d2 Merge "Deprecate TelephonyManager APIs which are present in TelecomManager." am: a90205492f am: f0dd39f7d0
am: b706659354

Change-Id: Ibdaf08aca01df5582ed3042ac956155df590adb5
2017-09-11 03:58:23 +00:00
Sanket Padawe
f0dd39f7d0 Merge "Deprecate TelephonyManager APIs which are present in TelecomManager."
am: a90205492f

Change-Id: I1d15e13cb3ae8fa8caf098e34587e3599b5bc967
2017-09-11 03:40:47 +00:00
Sanket Padawe
5aac2e91db Deprecate TelephonyManager APIs which are present in TelecomManager.
Bug: 62346128
Test: Build
Change-Id: I4c3b4652f5d22215572d64b764bcd42bb7295ebe
Merged-in: I4c3b4652f5d22215572d64b764bcd42bb7295ebe
2017-09-08 05:46:13 -07:00
Tyler Gunn
4a25d72eb5 Merge "Prevent INTERACT_ACROSS_USERS exception in DefaultDialerManager." into oc-mr1-dev
am: dc79e248cb

Change-Id: I6bc7419ba260050281d83e33f7f328ec5ccb3cd8
2017-09-05 21:04:52 +00:00
Tyler Gunn
0907bd674a Prevent INTERACT_ACROSS_USERS exception in DefaultDialerManager.
When TelecomManager methods perform a read phonestate check from a work
profile user, it is possible to get an INTERACT_ACROSS_USERS exception.
This is due to the fact that the filterByIntent method was not calling
queryIntentActivitiesAsUser.

Test: Manual
Bug: 31304557
Change-Id: I2a1869162e5a52aed986a99cc378a6c630af4a70
2017-09-01 15:17:05 -07:00
Tyler Gunn
40f5ccd1d0 Track conference start in system elapsed time.
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
Merged-In: If642d282cd8134060acf6ffe8d81215c394d800c
Change-Id: If642d282cd8134060acf6ffe8d81215c394d800c
(cherry picked from commit b2f875bc5468eec359dfbbe8697f94d7734cafed)
2017-08-28 09:40:44 -07:00
Brad Ebinger
0a538a2804 Merge "Emergency redial implementation" am: b3b09849bc am: f5a457244c
am: 1d8a6e4ee7

Change-Id: I8689b700ff77127534d5560fac1d849615e8f567
2017-08-25 20:56:03 +00:00
Brad Ebinger
f5a457244c Merge "Emergency redial implementation"
am: b3b09849bc

Change-Id: If7fe179da4eb4c639dad1e2957f091bbee9e54f9
2017-08-25 20:31:26 +00:00
Srikanth Chintala
fcb1501620 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
2017-08-25 10:08:56 -07:00
Tyler Gunn
a4a789802a Merge "Track conference start in system elapsed time." am: 3b166fba8a am: 49042dc67c
am: 55967b462c

Change-Id: I5a7561dd09405bcdc38926bd331f5ffd8019ec2f
2017-08-24 23:20:14 +00:00
Tyler Gunn
49042dc67c Merge "Track conference start in system elapsed time."
am: 3b166fba8a

Change-Id: I8b78aaa447adcc1bfce0fec8f50857daa37d0575
2017-08-24 22:58:02 +00:00
Tyler Gunn
3fa819c2f3 Track conference start in system elapsed time.
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
2017-08-22 13:39:31 -07:00
Hall Liu
d33be52592 Merge "Do not throw IOException from RttCall.read()" into oc-mr1-dev 2017-08-17 16:17:53 +00:00
Brad Ebinger
b943ccef3c Merge "Adds a new string definition for IMS Access blocked reason"
am: 53e82a9cd0

Change-Id: I3bafca03e20ef114588145982985411882d2c8f5
2017-08-15 18:04:18 +00:00
Brad Ebinger
53e82a9cd0 Merge "Adds a new string definition for IMS Access blocked reason" 2017-08-15 17:41:27 +00:00
Tyler Gunn
a649df1fe1 Add ConnectionService callback invoked when connection creation complete.
Adding a new @hide callback in ConnectionService which a CS implementation
can implement.  A callback from Telecom is responsible for invoking this
method.

Test: Manual
Bug: 33272455
Change-Id: Id17cf0fd8fd491b7677f9b7a7b52c76270b1c8c9
2017-08-14 12:57:07 -07:00
Brad Ebinger
a5249f6d83 Adds a new string definition for IMS Access blocked reason
When a call is disconnected with the Telephony DisconnectCause
IMS_ACCESS_BLOCKED, DisconnectCause#getReason will now return
the reason REASON_IMS_ACCESS_BLOCKED.

Bug: 33821263
Test: manual tests
Merged-In: Ic8b76e83aa8eb20074862f0e67734d2c5389ba12
Change-Id: Ic17cefa35a51f739c893923a2db7f3dca8ada202
2017-08-14 18:32:53 +00:00
Tyler Gunn
9a351ca849 Ensure CallId is not null when connection creation is complete.
When calling "get" on the mConnectoinById map, a null callId will result
in an NPE.

In findConnectionForAction, defaulting to returning the "null" connection
which is the same behavior as if it isn't found.
In notifyCreateConnectionComplete, specifically checking if the callId
is null and skipping the onCreateConnectionComplete callback.
This scenario is possible if the connection is remove from the
ConnectionService before the connection complete callback comes back from
Telecom.

Test: Manual
Fixes: 62588734
Change-Id: Ie610c51155ed417e0f916000fe20e4484bdb6603
2017-08-14 16:30:41 +00:00
Pankaj Kanwar
38c61bf7bd Merge "Catch BadParcelableException in RemoteConnection when setting extras." into oc-dr1-dev
am: bcfa22584b

Change-Id: I36289ff0e5d2949d93ecbc0c18e131772706c9cc
2017-08-11 21:07:06 +00:00
Pankaj Kanwar
b30749b60f Merge "Catch BadParcelableException in RemoteConnection when setting extras." into oc-dr1-dev
am: bcfa22584b

Change-Id: I4cdef151e4a826cee965954352f101c3bdd86d09
2017-08-11 21:01:13 +00:00
Pankaj Kanwar
bcfa22584b Merge "Catch BadParcelableException in RemoteConnection when setting extras." into oc-dr1-dev 2017-08-11 20:52:52 +00:00
Tyler Gunn
14343ee4c3 Catch BadParcelableException in RemoteConnection when setting extras.
Unlike the code in Telecom which can use Bundle.setDefusable(..), this
framework code is used within a Connection Manager's code space, so the
setDefusable method does not work.

To prevent crashing the Connection Manager's app, catching the exception
and ignoring extras in this case (not much else we can do).

I've also filed a bug against the offending component known for putting
bad parcelables into the extras.

Test: Modified code to force this scenario.
Bug: 64499462
Change-Id: If44ad2e2c8e285d513969c6babe5a798242da53d
2017-08-11 09:26:07 -07:00
Hall Liu
b1c8a77f59 Do not throw IOException from RttCall.read()
Modify the signature of read() to no longer throw an IOException

Change-Id: Ib5a1d8615a4bd66716a54c53865a2d560f33de83
Test: builds
Fixes: 63769529
2017-08-02 16:27:52 -07:00
Brad Ebinger
ab87b6dc0b Merge "Remove Conferenceable update squelching" into oc-dr1-dev
am: 4b6ef9c92d

Change-Id: I30fbedd2fa26482d520fef48f0dd81aa923b06b7
2017-08-02 23:02:46 +00:00
Brad Ebinger
27d9ca08da Merge "Remove Conferenceable update squelching" into oc-dr1-dev
am: 4b6ef9c92d

Change-Id: I93a849f16c7c4d3bc4495f1baff905d16f0e78ff
2017-08-02 21:40:34 +00:00
Brad Ebinger
8c6f0cab33 Remove Conferenceable update squelching
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
2017-08-01 15:23:26 -07:00
Hall Liu
319d56cfa2 Merge "Add timezone for Telecom event date formatting" am: bf296640e6 am: 5af59940d1 am: af3d7f990a
am: 19bf135234

Change-Id: If0d65df712331bd5552a0551a073a4bb09709b26
2017-07-20 00:20:19 +00:00
Hall Liu
19bf135234 Merge "Add timezone for Telecom event date formatting" am: bf296640e6 am: 5af59940d1
am: af3d7f990a

Change-Id: I1ca12b34a39a45512c9df6a2daeb5f72cd686f3e
2017-07-20 00:13:08 +00:00
Hall Liu
5af59940d1 Merge "Add timezone for Telecom event date formatting"
am: bf296640e6

Change-Id: Ic9db643ff6d204f75aed44160003bbe0b685eb7e
2017-07-19 23:58:16 +00:00
Hall Liu
b6643acd8f Add timezone for Telecom event date formatting
Output event times in local time rather than in UTC for compatibility
with the rest of the timestamps in the bug report

Test: manual
Change-Id: I2d458f09aec635a43e3d0565e8f8da803124f368
2017-07-19 14:57:56 -07:00
Brad Ebinger
f3708d739b Merge "Adds a new string definition for IMS Access blocked reason" into oc-dr1-dev am: 092e461281
am: 848990985b

Change-Id: Ib8b386bd4aebc3ca137fec4b52c27a0b37102e9e
2017-07-05 22:30:12 +00:00
TreeHugger Robot
092e461281 Merge "Adds a new string definition for IMS Access blocked reason" into oc-dr1-dev 2017-07-05 22:17:01 +00:00
Brad Ebinger
8818c6ff3d Adds a new string definition for IMS Access blocked reason
When a call is disconnected with the Telephony DisconnectCause
IMS_ACCESS_BLOCKED, DisconnectCause#getReason will now return
the reason REASON_IMS_ACCESS_BLOCKED.

Bug: 33821263
Test: manual tests
Change-Id: Ic17cefa35a51f739c893923a2db7f3dca8ada202
2017-06-30 15:34:32 -07:00