Commit Graph

1189 Commits

Author SHA1 Message Date
Tyler Gunn
6b6ae55f72 Update PROPERTY_HIGH_DEF_AUDIO API docs.
Make it more clear that the intention of the property is to convey whether
a call is high definition on the UI or not, and NOT to report the actual
audio codec in use.

Test: Build
Bug: 78550833
Change-Id: Id002cd1c9cc1d5aea6f8d9ab4e3d99956b7c42b2
2018-10-11 10:42:10 -07:00
Tyler Gunn
e35965e881 Merge "Add handleCallIntent method in TelecomManager." 2018-10-02 22:27:14 +00:00
Tyler Gunn
c37445cb4e Add handleCallIntent method in TelecomManager.
This is an @hide method usable only from within Telecom itself in order to
trampoline an ACTION_CALL intent from the UserCallActivity to
Telecom's system service.

Bug: 116719392
Test: Verify that calls initiated via CALL intent no longer get rebroadcast
and are instead sent directly to Telecom.

Change-Id: Ie765631bef8329a8ed12723d9c037a44b4f80882
2018-09-28 16:16:20 -07:00
Tyler Gunn
5604cc2516 Merge "Mark event-based handover constants as deprecated." 2018-09-26 04:18:35 +00: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
5405d09204 Merge "Propagates voice call radio technology to connection" 2018-09-20 22:16:50 +00:00
sqian
0e831f5781 Revision of CallRedirectionService API Review
- onBind should be final (I think also for onUnBind)
- Remove verbose logging
- Document redirectCall/placeCallUnmodified/cancelCall can only be
called from onPlaceCall

Bug: 112303670
Test: compile
Change-Id: I7d70a5ac3063a638d9383f69c99e4c1f822e8948
Merged-In: I7d70a5ac3063a638d9383f69c99e4c1f822e8948
(cherry picked from commit 4ec07dd68a)
2018-09-19 13:13:12 -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
Shaotang Li
8cec25c346 Add new telecom metrics for emergency dialer
These includes,
1. The source where user initiated the call.
2. The duration between START_CONNECTION and REQUEST_DISCONNECT.

Bug: 111818008
Test: manual and check the result of
'adb shell dumpsys telecom' for metrics data
Change-Id: Iddc7f256362abe9fe252bd12cead05a7d77d329e
2018-09-06 12:38:18 +08:00
sqian
cae1f264b9 Call Redirection Surface in Telecom out going call flow
- Provide a Call Redirection API Surface
- Provide a key "KEY_CALL_REDIRECTION_SERVICE_COMPONENT_NAME_STRING"
  in the CarrierConfigManager
- Create .aidl interfaces for Call Redirection
(CallRedirectionService.aidl, CallRedirectionAdapter.aidl)

Bug: 64959558
Test: Compile
Change-Id: Ic119fa445e66f1275eabf944c77fdc981bc9a2a7
Merged-In: Ic119fa445e66f1275eabf944c77fdc981bc9a2a7
(cherry picked from commit ea8970cd55)
2018-08-31 12:59:40 -07:00
Tyler Gunn
6af1516b22 Merge "Add equality method for PhoneAccount." 2018-08-28 14:59:25 +00:00
Tyler Gunn
3b34781f84 Add equality method for PhoneAccount.
Checks for equality between two PhoneAccounts, not taking into account
the icon, which cannot be compared with equality.

Test: Manual as part of telephony account registry updates.
Test: Added new unit tests to test equality.
Bug: 112884689
Change-Id: I0129954b5c124e349b82fcc91604fdccf0bad089
2018-08-24 14:17:05 -07:00
Sean Kelley
4d3c17862c Add EXTRA_SKIP_CALL_FILTERING PhoneAccount extra
This adds a new @hide extra to PhoneAccount which will allow
TelecomService to skip call filtering on PhoneAccounts which set it to
true. This will be useful to allow devices like Wear which receive
bridged calls that have already undergone call filtering to avoid doing
it again.

Bug: 65223222
Change-Id: I5b9992735a8cc29c70282daf5c6e285bfc8a4217
Merged-In: I5b9992735a8cc29c70282daf5c6e285bfc8a4217
2018-08-23 00:01:51 +00: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
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
0bd810f5ea Merge "Update InCallService API docs to explain how to show incoming call UI."
am: ac47c63b36

Change-Id: I4b3f34199c471006c71c2560f365ad314580b0a3
2018-07-13 15:37:40 -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
Treehugger Robot
ac47c63b36 Merge "Update InCallService API docs to explain how to show incoming call UI." 2018-07-13 18:52:52 +00: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
Tyler Gunn
dc6e6c43bb Update InCallService API docs to explain how to show incoming call UI.
Updating InCallService API docs to give an example of how an InCallService
should display a new incoming call notification.

Test: make docs ; proof generated HTML
Bug: 110916900
Change-Id: I6f3c8d0d9f14a916336d5a84897772ed4aba3105
2018-07-10 10:53:12 -07:00
Tyler Gunn
2c556faf3d Merge "Ensure self-managed calls use voip audio mode." am: b62aa315d1
am: fd3e10b1bc

Change-Id: I8f7842fa84fcce91a292b32189cd827b4a125fb0
2018-06-06 16:33:19 -07:00
Tyler Gunn
b62aa315d1 Merge "Ensure self-managed calls use voip audio mode." 2018-06-06 21:19:04 +00:00
Hall Liu
378f1f4972 Add CallAudioState ctor as TestApi
Needed for CTS testing

Bug: 79528185
Test: CTS
Change-Id: Iad154257a93cc776d5800527e46e777fd6c88220
Merged-In: Iad154257a93cc776d5800527e46e777fd6c88220
2018-05-25 15:22:16 -07:00
Tyler Gunn
f2e08b4c2c Ensure self-managed calls use voip audio mode.
Although Telecom ensures that new calls use voip audio mode, the default
value from a Connection would override the Telecom default.

Bug: 76362663
Test: Modify test app to ensure it does not set voip audio mode, ensure
Telecom uses voip audio mode for new calls.

Change-Id: Ie6477659cf6dabd08f371d4958ece1d258cd3106
2018-05-24 10:44:44 -07:00
Hall Liu
b5e999f3fd Merge "Add CallAudioState ctor as TestApi" into pi-dev
am: 785a93f61a

Change-Id: If94faceaaa98479c7406d2f6f0374d97ca4e706b
2018-05-14 14:27:34 -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
f858a0e8d2 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
Merged-In: Ic6527969793ebe05eb9c5fa8205558ae788ea572
Change-Id: Ic6527969793ebe05eb9c5fa8205558ae788ea572
2018-05-08 11:19:18 -07:00
Tyler Gunn
aae778c669 Merge "Make TelecomManager#endCall a public API." into pi-dev
am: 872a039ab3

Change-Id: Ic52e1705ce497b0a46bb4107ad854a8b939b38b0
2018-05-07 21:11:14 -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
2e8b22cdbf Merge "Add ability to log last 2 digits of dialed numbers in userdebug builds." am: a355552bfe
am: cc9acb51c5

Change-Id: Ie6d937b3a6a09e358945a5453af43b6096d8d9b6
2018-04-24 10:02:17 -07:00
Tyler Gunn
9bc35116e3 Add ability to log last 2 digits of dialed numbers in userdebug builds.
Filers of bugs often refer to specific phone numbers.  Bug reports by
default obscure dialed phone numbers from the Telecom logs.  This makes it
difficult to relate events in the bug report to what the bug filer refers
to.

To ease this, in userdebug builds we will now leave the last 2 digits of
dialed phone numbers un-obfuscated.  User builds will remain obfuscated.

Test: Added unit tests to cover this case.
Bug: 78457192
Change-Id: I52704cf57ed11b1fa53a55bc883d7d090af661f4
2018-04-23 09:52:25 -07:00
Pankaj Kanwar
2aa29debaa Merge "Update Javadoc to clarify which calls are logged." into pi-dev
am: 55399733a5

Change-Id: I2238231bfc1fb471982cdcc111e57b60b77424ab
2018-04-06 08:54:32 -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
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
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
e4330eaaf0 Merge "Rename handover failure constant per API review comments." am: 7c8a877231
am: ffe1c22271

Change-Id: Icae03afa86e7b660e9f52df252d2e3c961762be8
2018-03-19 19:40:01 +00:00
Tyler Gunn
5c60d71efb Rename handover failure constant per API review comments.
Expanding EMERG to EMERGENCY.

Test: Build code
Bug: 74831393
Change-Id: Ib7e6bea84e25b1e1a2ddb154c7ed62f1084a7596
2018-03-16 12:38:43 -07:00
Tyler Gunn
ac55e9dd01 Merge "Update API docs for Telephony call state reporting." am: c2493ee1ee
am: 1ba28fec3f

Change-Id: I60014a59db60610746841840278adead80963db8
2018-03-14 17:22:06 +00:00
Tyler Gunn
5f7265ec9c Update API docs for Telephony call state reporting.
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
2018-03-13 15:56:37 -07: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
Tyler Gunn
168a77237f Merge "API Documentation and Constant cleanup." am: 8882c55b21
am: 8917fc21cc

Change-Id: Ic4a159b838c952594b0860ded69fc07c74180961
2018-03-07 20:56:29 +00:00