diff options
| -rw-r--r-- | api/system-current.txt | 1 | ||||
| -rw-r--r-- | telecomm/java/android/telecom/TelecomManager.java | 22 | ||||
| -rw-r--r-- | telecomm/java/com/android/internal/telecom/ITelecomService.aidl | 5 |
3 files changed, 27 insertions, 1 deletions
diff --git a/api/system-current.txt b/api/system-current.txt index 1df486125923..c91a9678f1d0 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -32707,6 +32707,7 @@ package android.telecom { public class TelecomManager { method public void acceptRingingCall(); + method public void acceptRingingCall(int); method public void addNewIncomingCall(android.telecom.PhoneAccountHandle, android.os.Bundle); method public void addNewUnknownCall(android.telecom.PhoneAccountHandle, android.os.Bundle); method public void cancelMissedCallsNotification(); diff --git a/telecomm/java/android/telecom/TelecomManager.java b/telecomm/java/android/telecom/TelecomManager.java index b07b018f5a19..4916a6634087 100644 --- a/telecomm/java/android/telecom/TelecomManager.java +++ b/telecomm/java/android/telecom/TelecomManager.java @@ -1024,7 +1024,9 @@ public class TelecomManager { * If there is a ringing incoming call, this method accepts the call on behalf of the user. * TODO: L-release - need to convert all invocation of ITelecmmService#answerRingingCall to use * this method (clockwork & gearhead). - * + * If the incoming call is a video call, the call will be answered with the same video state as + * the incoming call requests. This means, for example, that an incoming call requesting + * {@link VideoProfile#STATE_BIDIRECTIONAL} will be answered, accepting that state. * @hide */ @SystemApi @@ -1039,6 +1041,24 @@ public class TelecomManager { } /** + * If there is a ringing incoming call, this method accepts the call on behalf of the user, + * with the specified video state. + * + * @param videoState The desired video state to answer the call with. + * @hide + */ + @SystemApi + public void acceptRingingCall(int videoState) { + try { + if (isServiceConnected()) { + getTelecomService().acceptRingingCallWithVideoState(videoState); + } + } catch (RemoteException e) { + Log.e(TAG, "Error calling ITelecomService#acceptRingingCallWithVideoState", e); + } + } + + /** * Silences the ringer if a ringing call exists. */ public void silenceRinger() { diff --git a/telecomm/java/com/android/internal/telecom/ITelecomService.aidl b/telecomm/java/com/android/internal/telecom/ITelecomService.aidl index 2e07759f09f1..856e21043a8d 100644 --- a/telecomm/java/com/android/internal/telecom/ITelecomService.aidl +++ b/telecomm/java/com/android/internal/telecom/ITelecomService.aidl @@ -178,6 +178,11 @@ interface ITelecomService { void acceptRingingCall(); /** + * @see TelecomServiceImpl#acceptRingingCallWithVideoState(int) + */ + void acceptRingingCallWithVideoState(int videoState); + + /** * @see TelecomServiceImpl#cancelMissedCallsNotification */ void cancelMissedCallsNotification(String callingPackage); |