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