blob: 10c7f3e8a2d7bd510c4c0b9b79c77bb1fee9cf5e [file] [log] [blame]
Brad Ebinger216b3ce2017-11-09 10:22:49 -08001/*
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 com.android.ims.internal;
18
19import android.app.PendingIntent;
20
21import com.android.ims.ImsCallProfile;
22import com.android.ims.internal.IImsCallSession;
23import com.android.ims.internal.IImsCallSessionListener;
24import com.android.ims.internal.IImsConfig;
25import com.android.ims.internal.IImsEcbm;
26import com.android.ims.internal.IImsMultiEndpoint;
27import com.android.ims.internal.IImsRegistrationListener;
Mohamed Abdalkader8d7b0602018-01-12 16:37:08 -080028import com.android.ims.internal.IImsSmsListener;
Brad Ebinger216b3ce2017-11-09 10:22:49 -080029import com.android.ims.internal.IImsUt;
30
31import android.os.Message;
32
33/**
34 * See MMTelFeature for more information.
35 * {@hide}
36 */
37interface IImsMMTelFeature {
38 int startSession(in PendingIntent incomingCallIntent,
39 in IImsRegistrationListener listener);
40 void endSession(int sessionId);
41 boolean isConnected(int callSessionType, int callType);
42 boolean isOpened();
43 int getFeatureStatus();
44 void addRegistrationListener(in IImsRegistrationListener listener);
45 void removeRegistrationListener(in IImsRegistrationListener listener);
46 ImsCallProfile createCallProfile(int sessionId, int callSessionType, int callType);
47 IImsCallSession createCallSession(int sessionId, in ImsCallProfile profile,
48 IImsCallSessionListener listener);
49 IImsCallSession getPendingCallSession(int sessionId, String callId);
50 IImsUt getUtInterface();
51 IImsConfig getConfigInterface();
52 void turnOnIms();
53 void turnOffIms();
54 IImsEcbm getEcbmInterface();
55 void setUiTTYMode(int uiTtyMode, in Message onComplete);
56 IImsMultiEndpoint getMultiEndpointInterface();
Mohamed Abdalkader8d7b0602018-01-12 16:37:08 -080057 // SMS APIs
58 void setSmsListener(IImsSmsListener l);
59 oneway void sendSms(in int token, int messageRef, String format, String smsc, boolean retry,
60 in byte[] pdu);
61 oneway void acknowledgeSms(int token, int messageRef, int result);
62 oneway void acknowledgeSmsReport(int token, int messageRef, int result);
63 String getSmsFormat();
Mohamed Abdalkaderbddbd622018-01-23 13:09:00 -080064 oneway void onSmsReady();
Brad Ebinger216b3ce2017-11-09 10:22:49 -080065}