From d582184178c1c68aa67bbc82d82f6a2c498e684b Mon Sep 17 00:00:00 2001 From: Tyler Gunn Date: Fri, 5 Feb 2021 11:12:57 -0800 Subject: [PATCH] CallDiagnosticService API The CallDiagnosticService API is an OEM-backed API which allows an OEM provided app to monitor the state of ongoing telephony calls on the device and to help the user navigate connectivity or audio issues related to these calls. It also provides a means for the app to send and receive device to device messages between devices during an ongoing call (where supported) in order to facilitate a better calling experience. Test: Added new CTS test suite for API. Test: Manual test of CDS behavior using telecom command line option to override the active CDS to the telecom test app implementation. Bug: 163085177 Change-Id: I1f37408d2aa6c630f0f9e3d6b6eb8a390d804d7e --- .../com/android/commands/telecom/Telecom.java | 13 + core/api/current.txt | 4 + core/api/system-current.txt | 42 ++ core/res/AndroidManifest.xml | 9 + .../telecom/BluetoothCallQualityReport.aidl | 22 + .../telecom/BluetoothCallQualityReport.java | 22 + telecomm/java/android/telecom/Call.java | 58 +++ .../telecom/CallDiagnosticService.java | 328 +++++++++++++++ telecomm/java/android/telecom/Connection.java | 40 ++ .../java/android/telecom/DiagnosticCall.java | 381 ++++++++++++++++++ telecomm/java/android/telecom/Log.java | 2 +- .../telecom/ICallDiagnosticService.aidl | 37 ++ .../ICallDiagnosticServiceAdapter.aidl | 32 ++ .../internal/telecom/ITelecomService.aidl | 4 + 14 files changed, 993 insertions(+), 1 deletion(-) create mode 100644 telecomm/java/android/telecom/BluetoothCallQualityReport.aidl create mode 100644 telecomm/java/android/telecom/CallDiagnosticService.java create mode 100644 telecomm/java/android/telecom/DiagnosticCall.java create mode 100644 telecomm/java/com/android/internal/telecom/ICallDiagnosticService.aidl create mode 100644 telecomm/java/com/android/internal/telecom/ICallDiagnosticServiceAdapter.aidl diff --git a/cmds/telecom/src/com/android/commands/telecom/Telecom.java b/cmds/telecom/src/com/android/commands/telecom/Telecom.java index 5f13a5ce3aae..90c8c0358549 100644 --- a/cmds/telecom/src/com/android/commands/telecom/Telecom.java +++ b/cmds/telecom/src/com/android/commands/telecom/Telecom.java @@ -66,6 +66,7 @@ public final class Telecom extends BaseCommand { private static final String COMMAND_SET_PHONE_ACCOUNT_SUGGESTION_COMPONENT = "set-phone-acct-suggestion-component"; private static final String COMMAND_UNREGISTER_PHONE_ACCOUNT = "unregister-phone-account"; + private static final String COMMAND_SET_CALL_DIAGNOSTIC_SERVICE = "set-call-diagnostic-service"; private static final String COMMAND_SET_DEFAULT_DIALER = "set-default-dialer"; private static final String COMMAND_GET_DEFAULT_DIALER = "get-default-dialer"; private static final String COMMAND_STOP_BLOCK_SUPPRESSION = "stop-block-suppression"; @@ -111,6 +112,7 @@ public final class Telecom extends BaseCommand { + "usage: telecom register-sim-phone-account " + "