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 
17 package android.telephony.ims.aidl;
18 
19 import android.os.Message;
20 import android.telephony.ims.aidl.IImsMmTelListener;
21 import android.telephony.ims.aidl.IImsSmsListener;
22 import android.telephony.ims.aidl.IImsCapabilityCallback;
23 import android.telephony.ims.aidl.ISrvccStartedCallback;
24 import android.telephony.ims.feature.CapabilityChangeRequest;
25 import android.telephony.ims.MediaQualityStatus;
26 import android.telephony.ims.MediaThreshold;
27 import android.telephony.ims.RtpHeaderExtensionType;
28 
29 import android.telephony.ims.ImsCallProfile;
30 import com.android.ims.internal.IImsCallSession;
31 import com.android.ims.internal.IImsEcbm;
32 import com.android.ims.internal.IImsMultiEndpoint;
33 import com.android.ims.internal.IImsRegistrationListener;
34 import com.android.ims.internal.IImsUt;
35 
36 import java.util.List;
37 
38 /**
39  * See MmTelFeature for more information.
40  * {@hide}
41  */
42 interface IImsMmTelFeature {
setListener(IImsMmTelListener l)43     void setListener(IImsMmTelListener l);
getFeatureState()44     int getFeatureState();
createCallProfile(int callSessionType, int callType)45     ImsCallProfile createCallProfile(int callSessionType, int callType);
changeOfferedRtpHeaderExtensionTypes(in List<RtpHeaderExtensionType> types)46     void changeOfferedRtpHeaderExtensionTypes(in List<RtpHeaderExtensionType> types);
createCallSession(in ImsCallProfile profile)47     IImsCallSession createCallSession(in ImsCallProfile profile);
shouldProcessCall(in String[] uris)48     int shouldProcessCall(in String[] uris);
getUtInterface()49     IImsUt getUtInterface();
getEcbmInterface()50     IImsEcbm getEcbmInterface();
setUiTtyMode(int uiTtyMode, in Message onCompleteMessage)51     void setUiTtyMode(int uiTtyMode, in Message onCompleteMessage);
getMultiEndpointInterface()52     IImsMultiEndpoint getMultiEndpointInterface();
queryCapabilityStatus()53     int queryCapabilityStatus();
setTerminalBasedCallWaitingStatus(boolean enabled)54     void setTerminalBasedCallWaitingStatus(boolean enabled);
addCapabilityCallback(IImsCapabilityCallback c)55     oneway void addCapabilityCallback(IImsCapabilityCallback c);
removeCapabilityCallback(IImsCapabilityCallback c)56     oneway void removeCapabilityCallback(IImsCapabilityCallback c);
changeCapabilitiesConfiguration(in CapabilityChangeRequest request, IImsCapabilityCallback c)57     oneway void changeCapabilitiesConfiguration(in CapabilityChangeRequest request,
58             IImsCapabilityCallback c);
queryCapabilityConfiguration(int capability, int radioTech, IImsCapabilityCallback c)59     oneway void queryCapabilityConfiguration(int capability, int radioTech,
60             IImsCapabilityCallback c);
notifySrvccStarted(in ISrvccStartedCallback cb)61     oneway void notifySrvccStarted(in ISrvccStartedCallback cb);
notifySrvccCompleted()62     oneway void notifySrvccCompleted();
notifySrvccFailed()63     oneway void notifySrvccFailed();
notifySrvccCanceled()64     oneway void notifySrvccCanceled();
setMediaQualityThreshold(int mediaSessionType, in MediaThreshold threshold)65     oneway void setMediaQualityThreshold(int mediaSessionType, in MediaThreshold threshold);
queryMediaQualityStatus(int mediaSessionType)66     MediaQualityStatus queryMediaQualityStatus(int mediaSessionType);
67 
68     // SMS APIs
setSmsListener(IImsSmsListener l)69     void setSmsListener(IImsSmsListener l);
sendSms(in int token, int messageRef, String format, String smsc, boolean retry, in byte[] pdu)70     oneway void sendSms(in int token, int messageRef, String format, String smsc, boolean retry,
71             in byte[] pdu);
onMemoryAvailable(int token)72     oneway void onMemoryAvailable(int token);
acknowledgeSms(int token, int messageRef, int result)73     oneway void acknowledgeSms(int token, int messageRef, int result);
acknowledgeSmsWithPdu(int token, int messageRef, int result, in byte[] pdu)74     oneway void acknowledgeSmsWithPdu(int token, int messageRef, int result, in byte[] pdu);
acknowledgeSmsReport(int token, int messageRef, int result)75     oneway void acknowledgeSmsReport(int token, int messageRef, int result);
getSmsFormat()76     String getSmsFormat();
onSmsReady()77     oneway void onSmsReady();
78 }
79