1 /*
2  * Copyright (C) 2014 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 package com.android.internal.telecom;
18 
19 import android.app.PendingIntent;
20 import android.net.Uri;
21 import android.os.Bundle;
22 import android.telecom.ConnectionRequest;
23 import android.telecom.DisconnectCause;
24 import android.telecom.Logging.Session;
25 import android.telecom.ParcelableConnection;
26 import android.telecom.ParcelableConference;
27 import android.telecom.StatusHints;
28 
29 import com.android.internal.telecom.IVideoProvider;
30 import com.android.internal.telecom.RemoteServiceCallback;
31 
32 /**
33  * Internal remote callback interface for connection services.
34  *
35  * @see android.telecom.ConnectionServiceAdapter
36  *
37  * {@hide}
38  */
39 oneway interface IConnectionServiceAdapter {
handleCreateConnectionComplete( String callId, in ConnectionRequest request, in ParcelableConnection connection, in Session.Info sessionInfo)40     void handleCreateConnectionComplete(
41             String callId,
42             in ConnectionRequest request,
43             in ParcelableConnection connection,
44             in Session.Info sessionInfo);
45 
setActive(String callId, in Session.Info sessionInfo)46     void setActive(String callId, in Session.Info sessionInfo);
47 
setRinging(String callId, in Session.Info sessionInfo)48     void setRinging(String callId, in Session.Info sessionInfo);
49 
setDialing(String callId, in Session.Info sessionInfo)50     void setDialing(String callId, in Session.Info sessionInfo);
51 
setPulling(String callId, in Session.Info sessionInfo)52     void setPulling(String callId, in Session.Info sessionInfo);
53 
setDisconnected(String callId, in DisconnectCause disconnectCause, in Session.Info sessionInfo)54     void setDisconnected(String callId, in DisconnectCause disconnectCause,
55     in Session.Info sessionInfo);
56 
setOnHold(String callId, in Session.Info sessionInfo)57     void setOnHold(String callId, in Session.Info sessionInfo);
58 
setRingbackRequested(String callId, boolean ringing, in Session.Info sessionInfo)59     void setRingbackRequested(String callId, boolean ringing, in Session.Info sessionInfo);
60 
setConnectionCapabilities(String callId, int connectionCapabilities, in Session.Info sessionInfo)61     void setConnectionCapabilities(String callId, int connectionCapabilities,
62     in Session.Info sessionInfo);
63 
setConnectionProperties(String callId, int connectionProperties, in Session.Info sessionInfo)64     void setConnectionProperties(String callId, int connectionProperties,
65     in Session.Info sessionInfo);
66 
setIsConferenced(String callId, String conferenceCallId, in Session.Info sessionInfo)67     void setIsConferenced(String callId, String conferenceCallId, in Session.Info sessionInfo);
68 
setConferenceMergeFailed(String callId, in Session.Info sessionInfo)69     void setConferenceMergeFailed(String callId, in Session.Info sessionInfo);
70 
addConferenceCall(String callId, in ParcelableConference conference, in Session.Info sessionInfo)71     void addConferenceCall(String callId, in ParcelableConference conference,
72     in Session.Info sessionInfo);
73 
removeCall(String callId, in Session.Info sessionInfo)74     void removeCall(String callId, in Session.Info sessionInfo);
75 
onPostDialWait(String callId, String remaining, in Session.Info sessionInfo)76     void onPostDialWait(String callId, String remaining, in Session.Info sessionInfo);
77 
onPostDialChar(String callId, char nextChar, in Session.Info sessionInfo)78     void onPostDialChar(String callId, char nextChar, in Session.Info sessionInfo);
79 
queryRemoteConnectionServices(RemoteServiceCallback callback, in Session.Info sessionInfo)80     void queryRemoteConnectionServices(RemoteServiceCallback callback, in Session.Info sessionInfo);
81 
setVideoProvider(String callId, IVideoProvider videoProvider, in Session.Info sessionInfo)82     void setVideoProvider(String callId, IVideoProvider videoProvider, in Session.Info sessionInfo);
83 
setVideoState(String callId, int videoState, in Session.Info sessionInfo)84     void setVideoState(String callId, int videoState, in Session.Info sessionInfo);
85 
setIsVoipAudioMode(String callId, boolean isVoip, in Session.Info sessionInfo)86     void setIsVoipAudioMode(String callId, boolean isVoip, in Session.Info sessionInfo);
87 
setStatusHints(String callId, in StatusHints statusHints, in Session.Info sessionInfo)88     void setStatusHints(String callId, in StatusHints statusHints, in Session.Info sessionInfo);
89 
setAddress(String callId, in Uri address, int presentation, in Session.Info sessionInfo)90     void setAddress(String callId, in Uri address, int presentation, in Session.Info sessionInfo);
91 
setCallerDisplayName(String callId, String callerDisplayName, int presentation, in Session.Info sessionInfo)92     void setCallerDisplayName(String callId, String callerDisplayName, int presentation,
93     in Session.Info sessionInfo);
94 
setConferenceableConnections(String callId, in List<String> conferenceableCallIds, in Session.Info sessionInfo)95     void setConferenceableConnections(String callId, in List<String> conferenceableCallIds,
96     in Session.Info sessionInfo);
97 
addExistingConnection(String callId, in ParcelableConnection connection, in Session.Info sessionInfo)98     void addExistingConnection(String callId, in ParcelableConnection connection,
99     in Session.Info sessionInfo);
100 
putExtras(String callId, in Bundle extras, in Session.Info sessionInfo)101     void putExtras(String callId, in Bundle extras, in Session.Info sessionInfo);
102 
removeExtras(String callId, in List<String> keys, in Session.Info sessionInfo)103     void removeExtras(String callId, in List<String> keys, in Session.Info sessionInfo);
104 
setAudioRoute(String callId, int audioRoute, in Session.Info sessionInfo)105     void setAudioRoute(String callId, int audioRoute, in Session.Info sessionInfo);
106 
onConnectionEvent(String callId, String event, in Bundle extras, in Session.Info sessionInfo)107     void onConnectionEvent(String callId, String event, in Bundle extras,
108     in Session.Info sessionInfo);
109 
onRttInitiationSuccess(String callId, in Session.Info sessionInfo)110     void onRttInitiationSuccess(String callId, in Session.Info sessionInfo);
111 
onRttInitiationFailure(String callId, int reason, in Session.Info sessionInfo)112     void onRttInitiationFailure(String callId, int reason, in Session.Info sessionInfo);
113 
onRttSessionRemotelyTerminated(String callId, in Session.Info sessionInfo)114     void onRttSessionRemotelyTerminated(String callId, in Session.Info sessionInfo);
115 
onRemoteRttRequest(String callId, in Session.Info sessionInfo)116     void onRemoteRttRequest(String callId, in Session.Info sessionInfo);
117 }
118