1/*
2 * Copyright (C) 2017 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
17package android.telephony.ims.stub;
18
19import com.android.ims.ImsCallProfile;
20import com.android.ims.ImsConferenceState;
21import com.android.ims.ImsReasonInfo;
22import com.android.ims.ImsStreamMediaProfile;
23import com.android.ims.ImsSuppServiceNotification;
24import com.android.ims.internal.IImsCallSession;
25import com.android.ims.internal.IImsCallSessionListener;
26
27/**
28 * Base implementation of ImsCallSessionListenerBase, which implements stub versions of the methods
29 * in the IImsCallSessionListener AIDL. Override the methods that your implementation of
30 * ImsCallSessionListener supports.
31 *
32 * DO NOT remove or change the existing APIs, only add new ones to this Base implementation or you
33 * will break other implementations of ImsCallSessionListener maintained by other ImsServices.
34 *
35 * @hide
36 */
37public class ImsCallSessionListenerImplBase extends IImsCallSessionListener.Stub {
38    /**
39     * Notifies the result of the basic session operation (setup / terminate).
40     */
41    @Override
42    public void callSessionProgressing(IImsCallSession session, ImsStreamMediaProfile profile) {
43        // no-op
44    }
45
46    @Override
47    public void callSessionStarted(IImsCallSession session, ImsCallProfile profile) {
48        // no-op
49    }
50
51    @Override
52    public void callSessionStartFailed(IImsCallSession session, ImsReasonInfo reasonInfo) {
53        // no-op
54    }
55
56    @Override
57    public void callSessionTerminated(IImsCallSession session, ImsReasonInfo reasonInfo) {
58        // no-op
59    }
60
61    /**
62     * Notifies the result of the call hold/resume operation.
63     */
64    @Override
65    public void callSessionHeld(IImsCallSession session, ImsCallProfile profile) {
66        // no-op
67    }
68
69    @Override
70    public void callSessionHoldFailed(IImsCallSession session, ImsReasonInfo reasonInfo) {
71        // no-op
72    }
73
74    @Override
75    public void callSessionHoldReceived(IImsCallSession session, ImsCallProfile profile) {
76        // no-op
77    }
78
79    @Override
80    public void callSessionResumed(IImsCallSession session, ImsCallProfile profile) {
81        // no-op
82    }
83
84    @Override
85    public void callSessionResumeFailed(IImsCallSession session, ImsReasonInfo reasonInfo) {
86        // no-op
87    }
88
89    @Override
90    public void callSessionResumeReceived(IImsCallSession session, ImsCallProfile profile) {
91        // no-op
92    }
93
94    /**
95     * Notifies the result of call merge operation.
96     */
97    @Override
98    public void callSessionMergeStarted(IImsCallSession session, IImsCallSession newSession,
99            ImsCallProfile profile) {
100        // no-op
101    }
102
103    @Override
104    public void callSessionMergeComplete(IImsCallSession session) {
105        // no-op
106    }
107
108    @Override
109    public void callSessionMergeFailed(IImsCallSession session, ImsReasonInfo reasonInfo) {
110        // no-op
111    }
112
113    /**
114     * Notifies the result of call upgrade / downgrade or any other call
115     * updates.
116     */
117    @Override
118    public void callSessionUpdated(IImsCallSession session, ImsCallProfile profile) {
119        // no-op
120    }
121
122    @Override
123    public void callSessionUpdateFailed(IImsCallSession session, ImsReasonInfo reasonInfo) {
124        // no-op
125    }
126
127    @Override
128    public void callSessionUpdateReceived(IImsCallSession session, ImsCallProfile profile) {
129        // no-op
130    }
131
132    /**
133     * Notifies the result of conference extension.
134     */
135    @Override
136    public void callSessionConferenceExtended(IImsCallSession session, IImsCallSession newSession,
137            ImsCallProfile profile) {
138        // no-op
139    }
140
141    @Override
142    public void callSessionConferenceExtendFailed(IImsCallSession session,
143            ImsReasonInfo reasonInfo) {
144        // no-op
145    }
146
147    @Override
148    public void callSessionConferenceExtendReceived(IImsCallSession session,
149            IImsCallSession newSession,
150            ImsCallProfile profile) {
151        // no-op
152    }
153
154    /**
155     * Notifies the result of the participant invitation / removal to/from the
156     * conference session.
157     */
158    @Override
159    public void callSessionInviteParticipantsRequestDelivered(IImsCallSession session) {
160        // no-op
161    }
162
163    @Override
164    public void callSessionInviteParticipantsRequestFailed(IImsCallSession session,
165            ImsReasonInfo reasonInfo) {
166        // no-op
167    }
168
169    @Override
170    public void callSessionRemoveParticipantsRequestDelivered(IImsCallSession session) {
171        // no-op
172    }
173
174    @Override
175    public void callSessionRemoveParticipantsRequestFailed(IImsCallSession session,
176            ImsReasonInfo reasonInfo) {
177        // no-op
178    }
179
180    /**
181     * Notifies the changes of the conference info. the conference session.
182     */
183    @Override
184    public void callSessionConferenceStateUpdated(IImsCallSession session,
185            ImsConferenceState state) {
186        // no-op
187    }
188
189    /**
190     * Notifies the incoming USSD message.
191     */
192    @Override
193    public void callSessionUssdMessageReceived(IImsCallSession session, int mode,
194            String ussdMessage) {
195        // no-op
196    }
197
198    /**
199     * Notifies of handover information for this call
200     */
201    @Override
202    public void callSessionHandover(IImsCallSession session, int srcAccessTech,
203            int targetAccessTech,
204            ImsReasonInfo reasonInfo) {
205        // no-op
206    }
207
208    @Override
209    public void callSessionHandoverFailed(IImsCallSession session, int srcAccessTech,
210            int targetAccessTech,
211            ImsReasonInfo reasonInfo) {
212        // no-op
213    }
214
215    /**
216     * Notifies the TTY mode change by remote party.
217     *
218     * @param mode one of the following: -
219     *            {@link com.android.internal.telephony.Phone#TTY_MODE_OFF} -
220     *            {@link com.android.internal.telephony.Phone#TTY_MODE_FULL} -
221     *            {@link com.android.internal.telephony.Phone#TTY_MODE_HCO} -
222     *            {@link com.android.internal.telephony.Phone#TTY_MODE_VCO}
223     */
224    @Override
225    public void callSessionTtyModeReceived(IImsCallSession session, int mode) {
226        // no-op
227    }
228
229    /**
230     * Notifies of a change to the multiparty state for this
231     * {@code ImsCallSession}.
232     *
233     * @param session The call session.
234     * @param isMultiParty {@code true} if the session became multiparty,
235     *            {@code false} otherwise.
236     */
237    @Override
238    public void callSessionMultipartyStateChanged(IImsCallSession session, boolean isMultiParty) {
239        // no-op
240    }
241
242    /**
243     * Notifies the supplementary service information for the current session.
244     */
245    @Override
246    public void callSessionSuppServiceReceived(IImsCallSession session,
247            ImsSuppServiceNotification suppSrvNotification) {
248        // no-op
249    }
250}
251
252