FileDocCategorySizeDatePackage
InCallAdapter.javaAPI DocAndroid 5.1 API9220Thu Mar 12 22:22:42 GMT 2015android.telecom

InCallAdapter

public final class InCallAdapter extends Object
Receives commands from {@link InCallService} implementations which should be executed by Telecom. When Telecom binds to a {@link InCallService}, an instance of this class is given to the in-call service through which it can manipulate live (active, dialing, ringing) calls. When the in-call service is notified of new calls, it can use the given call IDs to execute commands such as {@link #answerCall} for incoming calls or {@link #disconnectCall} for active calls the user would like to end. Some commands are only appropriate for calls in certain states; please consult each method for such limitations.

The adapter will stop functioning when there are no more calls. {@hide}

Fields Summary
private final com.android.internal.telecom.IInCallAdapter
mAdapter
Constructors Summary
public InCallAdapter(com.android.internal.telecom.IInCallAdapter adapter)
{@hide}

        mAdapter = adapter;
    
Methods Summary
public voidanswerCall(java.lang.String callId, int videoState)
Instructs Telecom to answer the specified call.

param
callId The identifier of the call to answer.
param
videoState The video state in which to answer the call.

        try {
            mAdapter.answerCall(callId, videoState);
        } catch (RemoteException e) {
        }
    
public voidconference(java.lang.String callId, java.lang.String otherCallId)
Instructs Telecom to conference the specified call.

param
callId The unique ID of the call.
hide

        try {
            mAdapter.conference(callId, otherCallId);
        } catch (RemoteException ignored) {
        }
    
public voiddisconnectCall(java.lang.String callId)
Instructs Telecom to disconnect the specified call.

param
callId The identifier of the call to disconnect.

        try {
            mAdapter.disconnectCall(callId);
        } catch (RemoteException e) {
        }
    
public voidholdCall(java.lang.String callId)
Instructs Telecom to put the specified call on hold.

param
callId The identifier of the call to put on hold.

        try {
            mAdapter.holdCall(callId);
        } catch (RemoteException e) {
        }
    
public voidmergeConference(java.lang.String callId)
Instructs Telecom to merge child calls of the specified conference call.

        try {
            mAdapter.mergeConference(callId);
        } catch (RemoteException ignored) {
        }
    
public voidmute(boolean shouldMute)
Mute the microphone.

param
shouldMute True if the microphone should be muted.

        try {
            mAdapter.mute(shouldMute);
        } catch (RemoteException e) {
        }
    
public voidphoneAccountSelected(java.lang.String callId, PhoneAccountHandle accountHandle, boolean setDefault)
Instructs Telecom to add a PhoneAccountHandle to the specified call.

param
callId The identifier of the call.
param
accountHandle The PhoneAccountHandle through which to place the call.
param
setDefault {@code True} if this account should be set as the default for calls.

        try {
            mAdapter.phoneAccountSelected(callId, accountHandle, setDefault);
        } catch (RemoteException e) {
        }
    
public voidplayDtmfTone(java.lang.String callId, char digit)
Instructs Telecom to play a dual-tone multi-frequency signaling (DTMF) tone in a call. Any other currently playing DTMF tone in the specified call is immediately stopped.

param
callId The unique ID of the call in which the tone will be played.
param
digit A character representing the DTMF digit for which to play the tone. This value must be one of {@code '0'} through {@code '9'}, {@code '*'} or {@code '#'}.

        try {
            mAdapter.playDtmfTone(callId, digit);
        } catch (RemoteException e) {
        }
    
public voidpostDialContinue(java.lang.String callId, boolean proceed)
Instructs Telecom to continue playing a post-dial DTMF string. A post-dial DTMF string is a string of digits entered after a phone number, when dialed, that are immediately sent as DTMF tones to the recipient as soon as the connection is made. While these tones are playing, Telecom will notify the {@link InCallService} that the call is in the post dial state. If the DTMF string contains a {@link TelecomManager#DTMF_CHARACTER_PAUSE} symbol, Telecom will temporarily pause playing the tones for a pre-defined period of time. If the DTMF string contains a {@link TelecomManager#DTMF_CHARACTER_WAIT} symbol, Telecom will pause playing the tones and notify the {@link InCallService} that the call is in the post dial wait state. When the user decides to continue the postdial sequence, the {@link InCallService} should invoke the {@link #postDialContinue(String,boolean)} method.

param
callId The unique ID of the call for which postdial string playing should continue.
param
proceed Whether or not to continue with the post-dial sequence.

        try {
            mAdapter.postDialContinue(callId, proceed);
        } catch (RemoteException e) {
        }
    
public voidrejectCall(java.lang.String callId, boolean rejectWithMessage, java.lang.String textMessage)
Instructs Telecom to reject the specified call.

param
callId The identifier of the call to reject.
param
rejectWithMessage Whether to reject with a text message.
param
textMessage An optional text message with which to respond.

        try {
            mAdapter.rejectCall(callId, rejectWithMessage, textMessage);
        } catch (RemoteException e) {
        }
    
public voidsetAudioRoute(int route)
Sets the audio route (speaker, bluetooth, etc...). See {@link AudioState}.

param
route The audio route to use.

        try {
            mAdapter.setAudioRoute(route);
        } catch (RemoteException e) {
        }
    
public voidsplitFromConference(java.lang.String callId)
Instructs Telecom to split the specified call from any conference call with which it may be connected.

param
callId The unique ID of the call.
hide

        try {
            mAdapter.splitFromConference(callId);
        } catch (RemoteException ignored) {
        }
    
public voidstopDtmfTone(java.lang.String callId)
Instructs Telecom to stop any dual-tone multi-frequency signaling (DTMF) tone currently playing. DTMF tones are played by calling {@link #playDtmfTone(String,char)}. If no DTMF tone is currently playing, this method will do nothing.

param
callId The unique ID of the call in which any currently playing tone will be stopped.

        try {
            mAdapter.stopDtmfTone(callId);
        } catch (RemoteException e) {
        }
    
public voidswapConference(java.lang.String callId)
Instructs Telecom to swap the child calls of the specified conference call.

        try {
            mAdapter.swapConference(callId);
        } catch (RemoteException ignored) {
        }
    
public voidturnProximitySensorOff(boolean screenOnImmediately)
Instructs Telecom to turn the proximity sensor off.

param
screenOnImmediately If true, the screen will be turned on immediately if it was previously off. Otherwise, the screen will only be turned on after the proximity sensor is no longer triggered.

        try {
            mAdapter.turnOffProximitySensor(screenOnImmediately);
        } catch (RemoteException ignored) {
        }
    
public voidturnProximitySensorOn()
Instructs Telecom to turn the proximity sensor on.

        try {
            mAdapter.turnOnProximitySensor();
        } catch (RemoteException ignored) {
        }
    
public voidunholdCall(java.lang.String callId)
Instructs Telecom to release the specified call from hold.

param
callId The identifier of the call to release from hold.

        try {
            mAdapter.unholdCall(callId);
        } catch (RemoteException e) {
        }