This is a manual merge of the oc-mr1-dev change
I086e761ada9a57dca61c3a412561ee54255d6260
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: I84343fb0cda16514c01997fd71d1e819b5b7eebb
As part of the LockTask 2.0 work, we allow DPCs to enable the system lock
screen in LockTask mode. When the device is protected by a PIN, pattern, or
password, the lock screen will have an entry point to the emergency dialer
which allows the user to make emergency calls (e.g., 911).
Therefore, we whitelist the activities that are necessary to place this
outgoing emergency call when LOCK_TASK_FEATURE_KEYGUARD is enabled.
Bug: 68750910
Test: bit FrameworksServicesTests:com.android.server.am.LockTaskControllerTest
Test: CTS verifier > CTS verifier > Managed provisioning > Device owner tests
> LockTask UI
Change-Id: Iaeeec2c462b978d2d201c5660024a3dd7283ae07
This add new api interface to ConnectionService to support the
connection service focus api.
Bug: 69651192
Test: manually
Change-Id: Iea49d95b086d32a0ebaf8e9f34fe4556953a0fd5
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
* 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
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
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
Add some method to the ConnectionService in order to notify the
connection changed.
Test: manually test and unit test
Bug: 66949982
Change-Id: I077902474f9af70e00a383aa269e1ae6ff9230a9
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
TelephonyManager.isTtyModeSupported is public and we are deprecating that
to use TelecomManager.isTtySupported which was system api, so making it
public.
Test: Build
Bug: 62346128
Change-Id: Idfa146b03a3c3fdb20c563c4ea0dddf2c3399da6
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
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)
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
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
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
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
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
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