Update TelephonyManager#getCallState,
PhoneStateListener#onCallStateChanged to make it clear which calls each
method considers in determining call state.
Added intdef for call state (allows auto doc generation of valid
values for parameters).
Test: make docs
Bug: 73245376
Change-Id: I70ebd0f00ae3f0e1370ae275be8f8ef6f008523d
Change the dumpsys timestamps to use java.time for processing and always
log events with local timezone that was in effect at the time the event
happened.
Bug: 74250969
Test: manual, run dumpsys
Change-Id: Ie53cff4400be1528b3224bd556536a689ef22c8c
1. Update handover API docs for clarity.
2. Added an unknown value per API review comments.
3. Renamed HANDOVER_FAILURE_DEST_USER_REJECTED to
HANDOVER_FAILURE_USER_REJECTED
3. Removed the HANDOVER_FAILURE_DEST_INVALID_PERM constant since it isn't
used (methods which deal with permissions throw security exceptions).
Test: Make doc and verify documentation.
Change-Id: Id21d6b4c83d5c773ab38d78eb6b1886a1ac4dadf
Fixes: 73751004
Fixes: 73750515
Fixes: 73750817
* Add a new API to allow Telecom to inform ConnectionServices when the
RTT text stream changes
* No longer set the RTT property from ConnectionService. Client apps
should be setting properties themselves.
* Add Dialer-side RTT property in order to remove the dependence on
checking the RTT streams, which have a complex lifecycle
Bug: 72951201
Bug: 72648661
Test: manual, with real RTT calls and Dialer's SimulatorConnection, also
cts
Change-Id: Ic4c7d883d2dc6baf8e8c0eaa4df58d7de8762b9e
Merged-In: Ic4c7d883d2dc6baf8e8c0eaa4df58d7de8762b9e
Add a system setting to store preferred RTT mode for calls. Add logging
for RTT in Telecom base classes.
Bug: 63934808
Test: manual
Change-Id: Ie26fac800931604379bbe7b8abfed7caa8c0236d
Merged-In: Ie26fac800931604379bbe7b8abfed7caa8c0236d
Some properties were not being propagated to a RemoteConnection when
a Connection is first created. This can cause problems where the
Connection Manager is not aware of these property changes, especially if
they never change again during the lifetime of a call.
The extras set when a Connection is first created using the
RemoteConnectionService API would not be propagated to the
RemoteConnection. This means that Telephony RAT reporting would never
happen if the radio technology never changes during a call.
Bug: 72811636
Test: Manual
Change-Id: I658aab10b1fb89ca29c39338febcc76e9f50d8f4
- Update Connection onAnswer/onReject docs to make it more clear for
a self-managed connectionservice that these methods could be called by
the framework or by a car mode in call service.
- Update the Connection onShowIncomingCallUI method to take into account
the new concurrent calling capabilities in P.
Test: Docs only change
Bug: 73112552
Change-Id: Icb47aa15d03d4bfc05380948e30686317124301e
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
The InCallService documentation does not clearly state that an app which
wants to become the default dialer app also needs to handle the DIAL
intent. This change updates the documentation to make this clear.
Test: Built documentation and verified its contents.
Bug: 72857373
Change-Id: I738a8475df37035a0a7f4ad1639df76d967f81dc
Call deflection feature is useful to deflect MT call to another
number.
Test: Manual
Bug: 62170348
Change-Id: Idfbcc175a856aa0bb9476f8c73d7a614a3af0700
Adding carrier configuration option to specify whether the carrier requires
the incall recording tone be played.
Added phone account extra used in Telephony to communicate this to
Telecom.
Added permission pregrant for Telecom for MODIFY_AUDIO_ROUTING; this is
needed as Telecom listening to the AudioRecordingConfiguration callback
from the audio framework. It needs the permission so that it can be
informed of the package names of recording apps.
Test: Manually enabled for local carrier and confirmed that recording
tone plays to remote party when a recording app is started on the device.
Bug: 64138141
Change-Id: I1ab521b79cbeeb4ff4dcbf83de7c17c539637bdc
Adding the ACCEPT_HANDOVER runtime permission which an app must have in
order to accept handovers (this is per design).
Adding missing onHandoverComplete method in the android.telecom.Connection
API (per design).
Finishing plumbing for android.telecom.Call#onHandoverComplete API.
Fix issue where the new handover API methods would never get called; the
legacy handover extra was being used in this case when it should not have
been.
Bug: 65415068
Test: Verified using new CTS tests
Change-Id: If1558f6a23911862c02ac5b18fb62d86911ed7e2
Merged-In: If1558f6a23911862c02ac5b18fb62d86911ed7e2
Prevent the telecom service from generating a ringer if there is already
a ringer generated by a phone connected over bluetooth headset client
service.
Bug: 65673832
Test: runtest telecom-unit -c
com.android.server.telecom.tests.RingerTest
Change-Id: I40710787cab0215f0456153a3557aa8cf1a50cdf
(cherry picked from commit 40ea5eea4194f56f63e6aa3383772f462306c02a)
This add new api interface to ConnectionService to support the
connection service focus api.
Bug: 69651192
Test: manually
Change-Id: Iea49d95b086d32a0ebaf8e9f34fe4556953a0fd5
Merged-In: Iea49d95b086d32a0ebaf8e9f34fe4556953a0fd5
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
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
Add the carrier config key.
Test: add fake support for some random carrier, look for the capability
Bug: 63934808
Change-Id: I8a0e33a7ac10fbdcad356059913e7ddcba26bb6c
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
* 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
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