diff options
| -rw-r--r-- | telecomm/java/android/telecom/CallRedirectionService.java | 24 |
1 files changed, 17 insertions, 7 deletions
diff --git a/telecomm/java/android/telecom/CallRedirectionService.java b/telecomm/java/android/telecom/CallRedirectionService.java index 329911776993..d521e3025207 100644 --- a/telecomm/java/android/telecom/CallRedirectionService.java +++ b/telecomm/java/android/telecom/CallRedirectionService.java @@ -62,16 +62,20 @@ public abstract class CallRedirectionService extends Service { private ICallRedirectionAdapter mCallRedirectionAdapter; /** - * Telecom calls this method to inform the implemented {@link CallRedirectionService} of - * a new outgoing call which is being placed. Telecom does not request to redirect emergency - * calls and does not request to redirect calls with gateway information. + * Telecom calls this method once upon binding to a {@link CallRedirectionService} to inform + * it of a new outgoing call which is being placed. Telecom does not request to redirect + * emergency calls and does not request to redirect calls with gateway information. * * <p>Telecom will cancel the call if Telecom does not receive a response in 5 seconds from * the implemented {@link CallRedirectionService} set by users. * * <p>The implemented {@link CallRedirectionService} can call {@link #placeCallUnmodified()}, * {@link #redirectCall(Uri, PhoneAccountHandle, boolean)}, and {@link #cancelCall()} only - * from here. + * from here. Calls to these methods are assumed by the Telecom framework to be the response + * for the phone call for which {@link #onPlaceCall(Uri, PhoneAccountHandle, boolean)} was + * invoked by Telecom. The Telecom framework will only invoke + * {@link #onPlaceCall(Uri, PhoneAccountHandle, boolean)} once each time it binds to a + * {@link CallRedirectionService}. * * @param handle the phone number dialed by the user, represented in E.164 format if possible * @param initialPhoneAccount the {@link PhoneAccountHandle} on which the call will be placed. @@ -91,13 +95,15 @@ public abstract class CallRedirectionService extends Service { * no changes are required to the outgoing call, and that the call should be placed as-is. * * <p>This can only be called from implemented - * {@link #onPlaceCall(Uri, PhoneAccountHandle, boolean)}. + * {@link #onPlaceCall(Uri, PhoneAccountHandle, boolean)}. The response corresponds to the + * latest request via {@link #onPlaceCall(Uri, PhoneAccountHandle, boolean)}. * */ public final void placeCallUnmodified() { try { mCallRedirectionAdapter.placeCallUnmodified(); } catch (RemoteException e) { + e.rethrowAsRuntimeException(); } } @@ -109,7 +115,8 @@ public abstract class CallRedirectionService extends Service { * replies Telecom a handle for an emergency number. * * <p>This can only be called from implemented - * {@link #onPlaceCall(Uri, PhoneAccountHandle, boolean)}. + * {@link #onPlaceCall(Uri, PhoneAccountHandle, boolean)}. The response corresponds to the + * latest request via {@link #onPlaceCall(Uri, PhoneAccountHandle, boolean)}. * * @param handle the new phone number to dial * @param targetPhoneAccount the {@link PhoneAccountHandle} to use when placing the call. @@ -126,6 +133,7 @@ public abstract class CallRedirectionService extends Service { try { mCallRedirectionAdapter.redirectCall(handle, targetPhoneAccount, confirmFirst); } catch (RemoteException e) { + e.rethrowAsRuntimeException(); } } @@ -135,13 +143,15 @@ public abstract class CallRedirectionService extends Service { * an outgoing call should be canceled entirely. * * <p>This can only be called from implemented - * {@link #onPlaceCall(Uri, PhoneAccountHandle, boolean)}. + * {@link #onPlaceCall(Uri, PhoneAccountHandle, boolean)}. The response corresponds to the + * latest request via {@link #onPlaceCall(Uri, PhoneAccountHandle, boolean)}. * */ public final void cancelCall() { try { mCallRedirectionAdapter.cancelCall(); } catch (RemoteException e) { + e.rethrowAsRuntimeException(); } } |