Commit Graph

1137 Commits

Author SHA1 Message Date
Hall Liu
730a25995e Make RttTextStream's read interruptible
Wrap the FileInputStream in a java.nio.Channel so that sending a
Thread.interrupt() to the thread blocked on the read will actually do
something.

Change-Id: Icc11ba69167f448e2b33d9a1a13a1dfa5e5d0d58
Fixes: 110570772
Test: manual (follow repro steps in bug, but type really fast),treehugger
2018-06-25 19:48:33 -07:00
Hall Liu
c1d95aad1a Add CallAudioState ctor as TestApi
Needed for CTS testing

Bug: 79528185
Test: CTS
Change-Id: Iad154257a93cc776d5800527e46e777fd6c88220
2018-05-11 17:14:58 -07:00
Tyler Gunn
e1aa26c744 Make TelecomManager#endCall a public API.
A broad category of apps such as wearable companion apps and call blocking
apps rely on the ability to reject a ringing call.
Previously this was achieved using a broken TelephonyManager API which
lacked permission checks.
To support these applications, removing the @hide attribute on the existing
TelecomManager#endCall API so that apps with the existing
ANSWER_PHONE_CALLS permission can reject ringing calls and end ongoing
calls.  Logically if an app has permission to answer a call, it should be
able to end it.

Test: Created test app to verify API permission checks.
Test: Added new CTS tests to cover this API.
Bug: 78290258
Change-Id: Ic6527969793ebe05eb9c5fa8205558ae788ea572
2018-05-02 13:23:48 -07:00
Tyler Gunn
2155c4c897 Update Javadoc to clarify which calls are logged.
Update javadoc to make it more clear tha tonly SIP or TEL scheme calls
are logged at this time for self-managed CS.

Test: Build - docs only change.
Bug: 77581565
Change-Id: I1c5ef507077bc557f7af302a5b44c06bc90eef83
2018-04-05 09:43:41 -07:00
Hall Liu
2b6a6a30d5 Change signature of requestBluetoothAudio
requestBluetoothAudio now takes a BluetoothDevice instead of a string.

Bug: 74408978
Test: unable to CTS -- can't emulate bluetooth devices
Change-Id: Id21e32b911da234f69a248e9937f9df0cf12a9a9
2018-04-02 13:56:05 -07:00
Tyler Gunn
0ab380166d Rename handover failure constant per API review comments.
Expanding EMERG to EMERGENCY.

Test: Build code
Bug: 74831393
Merged-In: Ic0555b20dc508d022c0165a5d9dc3b40b33db70e
Change-Id: Ic0555b20dc508d022c0165a5d9dc3b40b33db70e
(cherry picked from commit a4ef504bdc)
2018-03-22 15:34:32 +00:00
Tyler Gunn
eda2ebd206 Merge "Ensure start of call properties are propagated to RemoteConnection." into pi-dev 2018-03-08 20:24:36 +00:00
Tyler Gunn
38f1b7d112 Ensure start of call properties are propagated to RemoteConnection.
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: Ia523cee477a39c221953cda68c29579cb5f6ed76
Merged-In: 06a96eab13
(cherry picked from commit 06a96eab13)
2018-03-08 17:21:47 +00:00
Tyler Gunn
3a09dc185b API Documentation and Constant cleanup.
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.
Fixes: 73751004
Fixes: 73750515
Fixes: 73750817
Merged-In: I7860fcd813f25adaaccf632f2c61dd4138a0a889
Change-Id: I7860fcd813f25adaaccf632f2c61dd4138a0a889
(cherry picked from commit c7a86b14a8)
2018-03-07 23:17:54 +00:00
Hall Liu
074d2338fa Fix Telecom dumpsys timestamps
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
2018-03-06 16:26:32 -08:00
TreeHugger Robot
4993e55242 Merge "Revert "Add deep link to the assisted dialing settings."" 2018-02-26 16:02:34 +00:00
TreeHugger Robot
c73f954cc7 Merge "Revert "Add the assisted dialing carrier config."" 2018-02-26 16:02:34 +00:00
Eric Erfanian
dd2db2f5a3 Revert "Add the assisted dialing carrier config."
This reverts commit af7b8c0a67.

Reason for revert: we're cutting the feature from P

Change-Id: I1ccc2c36b480f64c3a8b3df7eee73f80b7863722
Bug: 73727182
2018-02-21 19:48:50 +00:00
Eric Erfanian
7c96780cb7 Revert "Add deep link to the assisted dialing settings."
This reverts commit 5ff756e6c8.

Reason for revert: we're cutting the feature from P

Change-Id: I74cc929ef1f7fd499feef9c68a95a34a3e15cbec
Bug: 73727182
2018-02-21 19:48:30 +00:00
Hall Liu
4e0f11c65f Merge "RTT bugfixes, part 5" 2018-02-15 23:31:18 +00:00
Hall Liu
a549fed518 RTT bugfixes, part 5
* 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
2018-02-14 14:03:35 -08:00
Tyler Gunn
0f9643190e Merge "Rename Conference#setConnectionElapsedTime to clarity." am: d1134525fc am: a0b41a82ce
am: 4c09901931

Change-Id: I493ade2029398983a76fd41fcf9f080ee2f06b95
2018-02-14 01:24:44 +00:00
Treehugger Robot
d1134525fc Merge "Rename Conference#setConnectionElapsedTime to clarity." 2018-02-13 23:27:33 +00:00
Tyler Gunn
29a96d4b28 Merge "Updates to Telecom API docs for clarity." am: e845bddb40 am: 8fe8f5fa9b
am: 82d572ed07

Change-Id: I2699c25dd3a309eed0742dc87b636a9b96d32e96
2018-02-13 10:13:48 +00:00
Treehugger Robot
e845bddb40 Merge "Updates to Telecom API docs for clarity." 2018-02-13 07:09:36 +00:00
Tyler Gunn
7c3ddcf0a1 Updates to Telecom API docs for clarity.
- 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
2018-02-12 15:45:46 -08:00
Tyler Gunn
175413959a Rename Conference#setConnectionElapsedTime to clarity.
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
2018-02-12 14:35:15 -08:00
Tyler Gunn
4a0dde1f1c Merge "Add InCallService docs to state prerequisites for be being a dialer app." am: 6a3031713c am: 07545d18a2
am: a5627cd0e2

Change-Id: I8b423fba0e10abffc757e8d5ad4feb3b01732e01
2018-02-10 02:26:52 +00:00
Tyler Gunn
6a3031713c Merge "Add InCallService docs to state prerequisites for be being a dialer app." 2018-02-10 00:00:04 +00:00
Tyler Gunn
cfad0bea7e Merge "Pass calling package for invocations of endCall API." am: 44289caa11 am: e05da7e86b
am: 654b7fc322

Change-Id: Id7c74fa539b7e7e26dfdc8b612d9299d8c20c19b
2018-02-09 22:19:49 +00:00
Tyler Gunn
fe39efa9b1 Add InCallService docs to state prerequisites for be being a dialer app.
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
2018-02-09 11:28:54 -08:00
Tyler Gunn
44289caa11 Merge "Pass calling package for invocations of endCall API." 2018-02-09 18:49:08 +00:00
TreeHugger Robot
9936ce8245 Merge "Atom: CallStateChanged" 2018-02-09 07:32:21 +00:00
Pooja Jain
cfa16ec443 Merge "IMS: Add support in frameworks for call deflection feature" am: ba0f9d2973 am: f39bef4801
am: ac48eed9c0

Change-Id: I4695aca7d886f37341672ea5815770e3ccdf7a51
2018-02-08 02:15:56 +00:00
Tyler Gunn
c865881999 Pass calling package for invocations of endCall API.
Pass the calling package for debugging purposes.

Test: Manual
Bug: 73006395
Change-Id: I5ea7f1f0033438de3cdc2c47fc8a03f05d9e4590
2018-02-07 16:08:27 -08:00
Pooja Jain
d34698def5 IMS: Add support in frameworks for call deflection feature
Call deflection feature is useful to deflect MT call to another
number.

Test: Manual

Bug: 62170348
Change-Id: Idfbcc175a856aa0bb9476f8c73d7a614a3af0700
2018-02-07 12:29:16 +05:30
Tej Singh
c477d9c001 Atom: CallStateChanged
Adds CallStateChanged atom, including the state and disconnect cause
(when the state is disconnected). Makes the constants in CallState.java
(in packages/services) and DisconnectCause.java reference the proto
enum.

Test: atest TelecomUnitTests, verified events were received in adb logcat -b stats
Change-Id: I5c4d91387259fc7349e17551962cb490f5ed9f36
2018-02-07 04:21:59 +00:00
Hall Liu
04674a0ef9 Merge "Add setting and logging for RTT" 2018-02-05 21:30:51 +00:00
Hall Liu
d4d2a8a658 Add setting and logging for RTT
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
2018-02-05 11:47:30 -08:00
Tyler Gunn
e2a66df86c Merge "Add call recording tone support." am: 8d5b08c430 am: eb74233ff9
am: 29d94726be

Change-Id: I67496b63f6a7f6362faed8c6a8cbff7cd665876c
2018-02-02 08:02:44 +00:00
Tyler Gunn
acdb686635 Add call recording tone support.
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
2018-01-30 11:38:54 -08:00
Tyler Gunn
858bfaf79c Add handover permission, fill in some missing API gaps.
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
2018-01-25 16:20:03 -08:00
Tyler Gunn
79bc1ec8a9 Add handover permission, fill in some missing API gaps.
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
2018-01-24 16:11:27 -08:00
Eric Erfanian
5ff756e6c8 Add deep link to the assisted dialing settings.
This enables clients to reference the setting directly.

Test: none
Bug: 72162646
Change-Id: I58ccfa41e2fd4a6260fe4510fbbcd6067cd0d61f
2018-01-24 11:37:52 -08:00
Eric Erfanian
af7b8c0a67 Add the assisted dialing carrier config.
This is used to activate the feature and show the settings.

Remove @hide from the public APIS.

Design doc:
go/assisted-dialing-dd-v1

Test: manual
Bug: 63934304
Change-Id: I09ea52720bf2439537e2f4ad32afb14f5df25f71
2018-01-22 19:23:04 +00:00
Sanket Padawe
4940b647a4 Merge "Add permission check for old call handover apis." am: e8fc3d2399 am: 7a97ee9acd
am: 440bd9cb05

Change-Id: Ibd08720dba54949234376d5a5ca021c722330091
2018-01-13 02:59:49 +00:00
Sanket Padawe
e8fc3d2399 Merge "Add permission check for old call handover apis." 2018-01-12 23:50:40 +00:00
Sanket Padawe
f6a9e5b6e0 Add permission check for old call handover apis.
Bug: 65415068
Test: manual
Change-Id: I4784debf1be255de24c341fe5474fc529bc1cebe
2018-01-12 10:17:42 -08:00
Joseph Pirozzo
d2a9fc7abe Bluetooth in band ring
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 40ea5eea41)
2018-01-11 14:07:25 -08:00
Joseph Pirozzo
2bcc515f25 Merge "Bluetooth in band ring" 2018-01-11 17:16:24 +00:00
Treehugger Robot
2f37060ee0 Merge "Add connection serivce focus api interface" 2018-01-09 22:54:42 +00:00
Brad Ebinger
806ab4220f Merge "Remove hashing for PII in Telecom Logging" am: e77808d936 am: 388aca53f1
am: d8b0a97ce4

Change-Id: I4867c726c391a346510c5579c7987bb868277f69
2018-01-09 21:28:13 +00:00
Joseph Pirozzo
40ea5eea41 Bluetooth in band ring
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
2018-01-09 11:46:31 -08:00
Pengquan Meng
63d25a5411 Add connection serivce focus api interface
This add new api interface to ConnectionService to support the
connection service focus api.

Bug: 69651192
Test: manually

Change-Id: Iea49d95b086d32a0ebaf8e9f34fe4556953a0fd5
Merged-In: Iea49d95b086d32a0ebaf8e9f34fe4556953a0fd5
2018-01-09 10:50:38 -08:00
Brad Ebinger
f784b29c9d Remove hashing for PII in Telecom Logging
Replaces the MD5 hash for logging PII in
Telecom with "***" instead.

Test: Manual
Bug: 67823981
Change-Id: Ieb089fe806663062a551ce7b9071e8b8f5fa9af7
2017-12-22 13:45:27 -08:00