Commit Graph

208 Commits

Author SHA1 Message Date
Chen Xu
b6d1319d1a telephony annotations part 2
adding missing annotations

Bug: 140908357
Test: Build

Merged-In: I6de632ef7ef01a939971b7d1bacb227ec5ff4048
Change-Id: I6de632ef7ef01a939971b7d1bacb227ec5ff4048
(cherry picked from commit f85cf993d3)
2019-11-20 14:09:16 -08:00
Tyler Gunn
5567d7408c More telephony updates for mainline.
Add new TelecomManager#getDefaultDialerPackage which is multiuse aware;
this is used when showing the voicemail notification.
Remove some @hide methods from Conference; push these inline.
Move ConferenceParticipantConnection into frameworks/opt/net/ims since
it is just an IMS implementation detail.

Bug: 141576016
Test: Manual smoke test.
Test: Run unit tests.
Test: Run CTS tests.
Change-Id: I39b6955cb14cc1ca68b05c620c3d09a2cdfe30c9
Merged-In: I39b6955cb14cc1ca68b05c620c3d09a2cdfe30c9
2019-11-08 21:27:32 +00:00
Tyler Gunn
633e4c3f19 Make Connection.Listener methods package private.
To prevent using these outside of the API surface, making package private
so we don't get tempted to use in the framework.

Bug: 141576016
Test: Manual smoke test.
Test: Run unit tests.
Test: Run CTS tests.
Change-Id: Ife3a82371b018b74efbe10e11015526d7aaeb7a9
2019-10-25 07:24:17 -07:00
Tyler Gunn
c63f9082a6 Telecom API updates for mainline support.
Moving some Telecom APIs into public since they are harmless to expose.
Moving some other Telecom APIs into the System API space since they're
API details specific to the TelephonyConnectionService so don't need to
be exposed in the public API.

Bug: 141576016
Test: Manual smoke test.
Test: Run unit tests.
Test: Run CTS tests.
Change-Id: Iaf75b9d671712d791f501c11536e73436908f7de
Merged-In: Iaf75b9d671712d791f501c11536e73436908f7de
2019-10-17 10:05:44 -07:00
Tyler Gunn
6986a63325 Support indicating call direction on existing connections.
This is important for ensuring the original call direction for existing
connections added from Conference Event Packages matches the call direction
of the original calls merged into the conference.

Also moved a utility function into ConferenceParticipant from
ConferenceParticipantConnection to make it generically usable inside
Telephony.

Test: Run all unit tests.
Test: Manual testing using VoLTE conference calls with mix of MO and MT
calls; verify call logging is appropriate.
Bug: 134471046

Change-Id: Iab09397b811782ab0f876aac02070e3447d81f09
2019-06-25 13:48:29 -07: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
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
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
Shi Lu
528eb5b06d API Review: SIP INVITE fields on a MT call
Bug: 123927153
Change-Id: I163aaa2b0cc2cd9dd36d1c63cd54bfca43a0d932
2019-02-13 22:12:20 +00:00
Youming Ye
d6de26ea61 Add connect time to conference participant.
Bug: 78176188
Test: Manual
Change-Id: Ifb7f061ddcc69356a21d08c9c446edeb38a6674c
2019-02-04 10:14:49 -08:00
Wileen Chiu
f2ec298d7d IMS: Propagate media profile changed message
- RTT Voice information will be passed to the UI via
  media profile changed message

- The RTT voice information - SPEECH/SILENCE, will be conveyed
  via the ImsStreamMediaProfile.hasRttAudioSpeech

- A connection event will be sent from frameworks to the UI -
  EVENT_RTT_AUDIO_INDICATION_CHANGED

- Add listeners, connection event and extras to propagate
  media profile changed to the UI

Test: Manual
Bug: 110976450
Change-Id: I34d2dd612915d65f5047986dabece968c78f0abe
2019-01-11 11:58:31 -08:00
shilu
b7ec9a0c9a Propagate some SIP INVITE header fields on a MT call
These fields can be used for Spoof call detection in the Dialer

Bug: 115537553
Test: compile and test on device
Change-Id: Ib92043536e0fc43e40efc53189a28c4e58064ddc
2019-01-10 15:59:06 -08:00
Tyler Gunn
6e3ecc40f8 Unsupported app usage API cleanup
This CL includes a number of cleanups related to unsupported app usage
tags.

TelecomManager#EXTRA_IS_HANDOVER - public APIS exist for this usecase;
updated docs and limit to P with maxtarget sdk.
TelecomManager#getSimCallManager(int userId) - marked as max target P;
there is a public API available which can be used to accomplish the same
thing.  Nobody should be calling this.
TelecomManager#getCallCapablePhoneAccounts(boolean) - marked as max
target P; callers should use the version without the boolean parameter.

Deprecate CAPABILITY_CAN_UPGRADE_TO_VIDEO; its redundant.

New public API:
Promote TelecomManager#getSystemDialerPackage() to public API; its a
benign API and doesn't expose anything which can't be inferred other ways.

New system APIs:
TelecomManager#getCurrentTtyMode() - used by settings app.
TelecomManager#setDefaultDialer() - used by useful for settings app.
TelecomManager#TTY_MODE* constants - used by getCurrentTtyMode API.

Test: Compile / run unit tests
Bug: 119305590
Change-Id: I67d6213e6c689fb545fc9ceae4a359831f97c32f
2018-11-12 11:30:56 -08:00
Tyler Gunn
190a8121c2 Merge "Mark event-based handover constants as deprecated."
am: 5604cc2516

Change-Id: I25b81274e0825e94133d21b976c8a20c4faff83d
2018-09-26 06:02:39 -07:00
Tyler Gunn
5604cc2516 Merge "Mark event-based handover constants as deprecated." 2018-09-26 04:18:35 +00:00
Tyler Gunn
6d400c7352 Merge "Add support for network identified emergency calls."
am: 108349f8d6

Change-Id: I21ffa931cba06086ca8fd970a0172c282af03b3a
2018-09-24 16:14:14 -07:00
Tyler Gunn
108349f8d6 Merge "Add support for network identified emergency calls." 2018-09-24 22:50:50 +00:00
Tyler Gunn
5bd90853a5 Add support for network identified emergency calls.
Add support for the IMS call profile to indicate that a call is an
emergency call.
Add supporting connection and call properties so that this can be
propagated to Telecom and ultimately the Dialer app.
Add System API to determine if the device is in a network IDed or dialed
emergency call (used in Telephony).

Test: Manual test using test intents and ecclist property.
Test: Added new telecom unit tests.
Bug: 77565333
Change-Id: I769e7b5000b10662c08fe53c91ef99edc685d2b1
2018-09-21 09:37:07 -07:00
Hall Liu
8a456bad23 Merge "Propagates voice call radio technology to connection"
am: 5405d09204

Change-Id: I244839f759f40066565111dae91bbe07692e3ebf
2018-09-20 23:13:14 -07:00
Wei Huang
7f7f72e451 Propagates voice call radio technology to connection
This patch mainly takes below changes:
 1) Add new extra to indicates the call network technology.
 2) Provides basic function to set/get call radio technology.

Bug: 67856372
Test: Manual
Change-Id: I1a12382fdb589ce823fe7af025832db4cdc152c2
2018-09-19 18:51:52 +09:00
Tyler Gunn
1a505fa8c8 Mark event-based handover constants as deprecated.
With the introduction of supported APIs in P, these event-based prototype
constants are no longer needed.

Test: Manual testing with test app
Bug: 110846969
Change-Id: Ic453923f57eb30d9ae7e1ee3c8ff07420e79f597
2018-09-14 13:36:38 -07:00
Mathew Inwood
9eb284c658 Merge "Add @UnsupportedAppUsage annotations" am: 44091cdb47
am: ec3f7c80ce

Change-Id: I50594b690a776145e4b0278e1e0685c5ebc53832
2018-08-06 12:25:51 -07:00
Mathew Inwood
ec3f7c80ce Merge "Add @UnsupportedAppUsage annotations"
am: 44091cdb47

Change-Id: I1dfae6f3d8ba8d5ff63f378c71f9670199a3adc3
2018-08-06 09:47:13 -07:00
Treehugger Robot
44091cdb47 Merge "Add @UnsupportedAppUsage annotations" 2018-08-06 12:23:09 +00:00
Hall Liu
a4c0632746 Merge "Telecom: Reset the duration after the CDMA call is accepted" am: 2cbf44dc2f
am: e784d5e5ca

Change-Id: I3ce3d19c460f3e95bdbdd4c983d53657c06443d3
2018-08-01 16:46:15 -07:00
Hall Liu
e784d5e5ca Merge "Telecom: Reset the duration after the CDMA call is accepted"
am: 2cbf44dc2f

Change-Id: I823efd5765b77fcf55f4c38a6091d980530abae8
2018-08-01 16:09:51 -07:00
Mathew Inwood
42346d1dd2 Add @UnsupportedAppUsage annotations
For packages:
  android.telecom.Logging
  android.telecom

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: I540cb034b933c0d1417a138747ed347fcf0748d7
Merged-In: I04a94d7555be608dc3958787554a3d33b72158ec
2018-08-01 11:33:05 +01:00
Mengjun Leng
2570774338 Telecom: Reset the duration after the CDMA call is accepted
In android original design, the duration of CDMA MO call is started from
the dial command sent, so it is not the real duration of the active time.

In this patch, a new message is registered to listen the event of the call
accepted, and then reset the duration when the event happens.

Change-Id: Icc447012030ae243f200ec2c83b7d5210af9b31c
2018-07-31 14:14:22 +08:00
Tyler Gunn
9aca012ab5 Merge "Make Connection#onSilence a public API." am: cbe3737f13
am: 01ab0b90bf

Change-Id: I8c011d4a495d5240ebec83b07bc0b8f57a3c40ac
2018-07-13 12:45:28 -07:00
Tyler Gunn
01ab0b90bf Merge "Make Connection#onSilence a public API."
am: cbe3737f13

Change-Id: I4ab192ca160219770d7384e88c8e0025137b42bd
2018-07-13 12:15:45 -07:00
Tyler Gunn
06f0616f6d Make Connection#onSilence a public API.
Connection#onSilence is generally applicable to apps implementing the
self-managed ConnectionService API.
Also updated the docs to make it more clear where that API is to be used
and how the developer can silence the ringtone.

Test: CTS test, manual test.
Bug: 110348674
Change-Id: I1c1791c101827780949fd633c531ed83037e7b4e
2018-07-11 09:04:43 -07:00
Hall Liu
17eb1bd6e4 Fix readImmediately for CTS
The readImmediately API (only used by CTS so far) was broken by a
previous change that unknowingly changed the semantics of ready().
Fixing this so that CTS tests work again.

Change-Id: I6970713eae2a01dd07e30778ca8ee0d9bc7dfeb9
Fixes: 111125833
Test: CTS
2018-07-03 15:17:41 -07:00
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
2a74e5798d Merge "Change signature of requestBluetoothAudio" am: 545e20389d
am: 442575f4f1

Change-Id: Ic10b762e04d74635663fa97f5879072ebe00eca9
2018-04-02 18:46:50 -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
Hall Liu
1539283965 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:52:57 -07:00
TreeHugger Robot
c73f954cc7 Merge "Revert "Add the assisted dialing carrier config."" 2018-02-26 16:02:34 +00:00
Hall Liu
e9041241de 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
Merged-In: Ic4c7d883d2dc6baf8e8c0eaa4df58d7de8762b9e
2018-02-22 03:19:19 +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
Treehugger Robot
d35e81d615 Merge "Un-hide Connection-side RTT APIs for Dialer" 2018-02-15 23:56:55 +00:00
Hall Liu
4e0f11c65f Merge "RTT bugfixes, part 5" 2018-02-15 23:31:18 +00:00
Hall Liu
13ee5767e1 Un-hide Connection-side RTT APIs for Dialer
Bug: 63934808
Test: builds
Change-Id: I59a892fb0e314810e92dd9ad7d0c2f4610055045
Merged-In: I59a892fb0e314810e92dd9ad7d0c2f461005504
2018-02-15 21:34:55 +00:00
Hall Liu
ee57508851 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
Merged-In: Ie26fac800931604379bbe7b8abfed7caa8c0236d
2018-02-15 18:55:35 +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