| /* |
| * Copyright (C) 2015 The Android Open Source Project |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| package com.android.ims; |
| |
| import android.app.PendingIntent; |
| |
| import com.android.ims.ImsCallProfile; |
| import com.android.ims.internal.IImsCallSession; |
| import com.android.ims.internal.IImsCallSessionListener; |
| import com.android.ims.internal.IImsConfig; |
| import com.android.ims.internal.IImsEcbm; |
| import com.android.ims.internal.IImsMultiEndpoint; |
| import com.android.ims.internal.IImsRegistrationListener; |
| import com.android.ims.internal.IImsService; |
| import com.android.ims.internal.IImsUt; |
| import android.os.Message; |
| |
| /* |
| * Stub for IImsService interface. To enable forward compatibility during |
| * development - empty APIs should not be deployed. |
| * |
| * @hide |
| */ |
| public abstract class ImsServiceBase { |
| /** |
| * IImsService stub implementation. |
| */ |
| private final class ImsServiceBinder extends IImsService.Stub { |
| @Override |
| public int open(int phoneId, int serviceClass, PendingIntent incomingCallIntent, |
| IImsRegistrationListener listener) { |
| return onOpen(phoneId, serviceClass, incomingCallIntent, listener); |
| } |
| |
| @Override |
| public void close(int serviceId) { |
| onClose(serviceId); |
| } |
| |
| @Override |
| public boolean isConnected(int serviceId, int serviceType, int callType) { |
| return onIsConnected(serviceId, serviceType, callType); |
| } |
| |
| @Override |
| public boolean isOpened(int serviceId) { |
| return onIsOpened(serviceId); |
| } |
| |
| @Override |
| public void setRegistrationListener(int serviceId, IImsRegistrationListener listener) { |
| onSetRegistrationListener(serviceId, listener); |
| } |
| |
| @Override |
| public void addRegistrationListener(int serviceId, int serviceType, IImsRegistrationListener listener) { |
| onAddRegistrationListener(serviceId, serviceType, listener); |
| } |
| |
| |
| @Override |
| public ImsCallProfile createCallProfile(int serviceId, int serviceType, int callType) { |
| return onCreateCallProfile(serviceId, serviceType, callType); |
| } |
| |
| @Override |
| public IImsCallSession createCallSession(int serviceId, ImsCallProfile profile, |
| IImsCallSessionListener listener) { |
| return onCreateCallSession(serviceId, profile, listener); |
| } |
| |
| @Override |
| public IImsCallSession getPendingCallSession(int serviceId, String callId) { |
| return onGetPendingCallSession(serviceId, callId); |
| } |
| |
| @Override |
| public IImsUt getUtInterface(int serviceId) { |
| return onGetUtInterface(serviceId); |
| } |
| |
| @Override |
| public IImsConfig getConfigInterface(int phoneId) { |
| return onGetConfigInterface(phoneId); |
| } |
| |
| @Override |
| public void turnOnIms(int phoneId) { |
| onTurnOnIms(phoneId); |
| } |
| |
| @Override |
| public void turnOffIms(int phoneId) { |
| onTurnOffIms(phoneId); |
| } |
| |
| @Override |
| public IImsEcbm getEcbmInterface(int serviceId) { |
| return onGetEcbmInterface(serviceId); |
| } |
| |
| @Override |
| public void setUiTTYMode(int serviceId, int uiTtyMode, Message onComplete) { |
| onSetUiTTYMode(serviceId, uiTtyMode, onComplete); |
| } |
| |
| @Override |
| public IImsMultiEndpoint getMultiEndpointInterface(int serviceId) { |
| return onGetMultiEndpointInterface(serviceId); |
| } |
| } |
| |
| private ImsServiceBinder mBinder; |
| |
| public ImsServiceBinder getBinder() { |
| if (mBinder == null) { |
| mBinder = new ImsServiceBinder(); |
| } |
| |
| return mBinder; |
| } |
| |
| protected int onOpen(int phoneId, int serviceClass, PendingIntent incomingCallIntent, |
| IImsRegistrationListener listener) { |
| // no-op |
| |
| return 0; // DUMMY VALUE |
| } |
| |
| protected void onClose(int serviceId) { |
| // no-op |
| } |
| |
| protected boolean onIsConnected(int serviceId, int serviceType, int callType) { |
| // no-op |
| |
| return false; // DUMMY VALUE |
| } |
| |
| protected boolean onIsOpened(int serviceId) { |
| // no-op |
| |
| return false; // DUMMY VALUE |
| } |
| |
| protected void onSetRegistrationListener(int serviceId, IImsRegistrationListener listener) { |
| // no-op |
| } |
| |
| protected void onAddRegistrationListener(int serviceId, int serviceType, IImsRegistrationListener listener) { |
| // no-op |
| } |
| |
| protected ImsCallProfile onCreateCallProfile(int serviceId, int serviceType, int callType) { |
| // no-op |
| |
| return null; |
| } |
| |
| protected IImsCallSession onCreateCallSession(int serviceId, ImsCallProfile profile, |
| IImsCallSessionListener listener) { |
| // no-op |
| |
| return null; |
| } |
| |
| protected IImsCallSession onGetPendingCallSession(int serviceId, String callId) { |
| // no-op |
| |
| return null; |
| } |
| |
| protected IImsUt onGetUtInterface(int serviceId) { |
| // no-op |
| |
| return null; |
| } |
| |
| protected IImsConfig onGetConfigInterface(int phoneId) { |
| // no-op |
| |
| return null; |
| } |
| |
| protected void onTurnOnIms(int phoneId) { |
| // no-op |
| } |
| |
| protected void onTurnOffIms(int phoneId) { |
| // no-op |
| } |
| |
| protected IImsEcbm onGetEcbmInterface(int serviceId) { |
| // no-op |
| |
| return null; |
| } |
| |
| protected void onSetUiTTYMode(int serviceId, int uiTtyMode, Message onComplete) { |
| // no-op |
| } |
| |
| protected IImsMultiEndpoint onGetMultiEndpointInterface(int serviceId) { |
| // no-op |
| return null; |
| } |
| } |
| |