1216b3ce485ccd0c42a778c3ca0668f371465a8d4Brad Ebinger/* 2216b3ce485ccd0c42a778c3ca0668f371465a8d4Brad Ebinger * Copyright (c) 2017 The Android Open Source Project 3216b3ce485ccd0c42a778c3ca0668f371465a8d4Brad Ebinger * 4216b3ce485ccd0c42a778c3ca0668f371465a8d4Brad Ebinger * Licensed under the Apache License, Version 2.0 (the "License"); 5216b3ce485ccd0c42a778c3ca0668f371465a8d4Brad Ebinger * you may not use this file except in compliance with the License. 6216b3ce485ccd0c42a778c3ca0668f371465a8d4Brad Ebinger * You may obtain a copy of the License at 7216b3ce485ccd0c42a778c3ca0668f371465a8d4Brad Ebinger * 8216b3ce485ccd0c42a778c3ca0668f371465a8d4Brad Ebinger * http://www.apache.org/licenses/LICENSE-2.0 9216b3ce485ccd0c42a778c3ca0668f371465a8d4Brad Ebinger * 10216b3ce485ccd0c42a778c3ca0668f371465a8d4Brad Ebinger * Unless required by applicable law or agreed to in writing, software 11216b3ce485ccd0c42a778c3ca0668f371465a8d4Brad Ebinger * distributed under the License is distributed on an "AS IS" BASIS, 12216b3ce485ccd0c42a778c3ca0668f371465a8d4Brad Ebinger * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13216b3ce485ccd0c42a778c3ca0668f371465a8d4Brad Ebinger * See the License for the specific language governing permissions and 14216b3ce485ccd0c42a778c3ca0668f371465a8d4Brad Ebinger * limitations under the License. 15216b3ce485ccd0c42a778c3ca0668f371465a8d4Brad Ebinger */ 16216b3ce485ccd0c42a778c3ca0668f371465a8d4Brad Ebinger 17216b3ce485ccd0c42a778c3ca0668f371465a8d4Brad Ebingerpackage com.android.ims.internal; 18216b3ce485ccd0c42a778c3ca0668f371465a8d4Brad Ebinger 19216b3ce485ccd0c42a778c3ca0668f371465a8d4Brad Ebingerimport android.app.PendingIntent; 20216b3ce485ccd0c42a778c3ca0668f371465a8d4Brad Ebinger 21f8c3cd8b3530a27f7534c32bac84c464ad5f66aeBrad Ebingerimport android.telephony.ims.ImsCallProfile; 22216b3ce485ccd0c42a778c3ca0668f371465a8d4Brad Ebingerimport com.android.ims.internal.IImsCallSession; 23216b3ce485ccd0c42a778c3ca0668f371465a8d4Brad Ebingerimport com.android.ims.internal.IImsConfig; 24216b3ce485ccd0c42a778c3ca0668f371465a8d4Brad Ebingerimport com.android.ims.internal.IImsEcbm; 25216b3ce485ccd0c42a778c3ca0668f371465a8d4Brad Ebingerimport com.android.ims.internal.IImsMultiEndpoint; 26216b3ce485ccd0c42a778c3ca0668f371465a8d4Brad Ebingerimport com.android.ims.internal.IImsRegistrationListener; 27216b3ce485ccd0c42a778c3ca0668f371465a8d4Brad Ebingerimport com.android.ims.internal.IImsUt; 28216b3ce485ccd0c42a778c3ca0668f371465a8d4Brad Ebinger 29216b3ce485ccd0c42a778c3ca0668f371465a8d4Brad Ebingerimport android.os.Message; 30216b3ce485ccd0c42a778c3ca0668f371465a8d4Brad Ebinger 31216b3ce485ccd0c42a778c3ca0668f371465a8d4Brad Ebinger/** 32216b3ce485ccd0c42a778c3ca0668f371465a8d4Brad Ebinger * See MMTelFeature for more information. 33216b3ce485ccd0c42a778c3ca0668f371465a8d4Brad Ebinger * {@hide} 34216b3ce485ccd0c42a778c3ca0668f371465a8d4Brad Ebinger */ 35216b3ce485ccd0c42a778c3ca0668f371465a8d4Brad Ebingerinterface IImsMMTelFeature { 36216b3ce485ccd0c42a778c3ca0668f371465a8d4Brad Ebinger int startSession(in PendingIntent incomingCallIntent, 37216b3ce485ccd0c42a778c3ca0668f371465a8d4Brad Ebinger in IImsRegistrationListener listener); 38216b3ce485ccd0c42a778c3ca0668f371465a8d4Brad Ebinger void endSession(int sessionId); 39216b3ce485ccd0c42a778c3ca0668f371465a8d4Brad Ebinger boolean isConnected(int callSessionType, int callType); 40216b3ce485ccd0c42a778c3ca0668f371465a8d4Brad Ebinger boolean isOpened(); 41216b3ce485ccd0c42a778c3ca0668f371465a8d4Brad Ebinger int getFeatureStatus(); 42216b3ce485ccd0c42a778c3ca0668f371465a8d4Brad Ebinger void addRegistrationListener(in IImsRegistrationListener listener); 43216b3ce485ccd0c42a778c3ca0668f371465a8d4Brad Ebinger void removeRegistrationListener(in IImsRegistrationListener listener); 44216b3ce485ccd0c42a778c3ca0668f371465a8d4Brad Ebinger ImsCallProfile createCallProfile(int sessionId, int callSessionType, int callType); 45264625486becc65fac29d7094cfba6d591daeae4Brad Ebinger IImsCallSession createCallSession(int sessionId, in ImsCallProfile profile); 46216b3ce485ccd0c42a778c3ca0668f371465a8d4Brad Ebinger IImsCallSession getPendingCallSession(int sessionId, String callId); 47216b3ce485ccd0c42a778c3ca0668f371465a8d4Brad Ebinger IImsUt getUtInterface(); 48216b3ce485ccd0c42a778c3ca0668f371465a8d4Brad Ebinger IImsConfig getConfigInterface(); 49216b3ce485ccd0c42a778c3ca0668f371465a8d4Brad Ebinger void turnOnIms(); 50216b3ce485ccd0c42a778c3ca0668f371465a8d4Brad Ebinger void turnOffIms(); 51216b3ce485ccd0c42a778c3ca0668f371465a8d4Brad Ebinger IImsEcbm getEcbmInterface(); 52216b3ce485ccd0c42a778c3ca0668f371465a8d4Brad Ebinger void setUiTTYMode(int uiTtyMode, in Message onComplete); 53216b3ce485ccd0c42a778c3ca0668f371465a8d4Brad Ebinger IImsMultiEndpoint getMultiEndpointInterface(); 54216b3ce485ccd0c42a778c3ca0668f371465a8d4Brad Ebinger} 55