Home | History | Annotate | Download | only in telecom
      1 /*
      2  * Copyright (C) 2014 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 com.android.internal.telecom;
     18 
     19 import android.app.PendingIntent;
     20 import android.net.Uri;
     21 import android.os.Bundle;
     22 import android.telecom.ConnectionRequest;
     23 import android.telecom.DisconnectCause;
     24 import android.telecom.Logging.Session;
     25 import android.telecom.ParcelableConnection;
     26 import android.telecom.ParcelableConference;
     27 import android.telecom.PhoneAccountHandle;
     28 import android.telecom.StatusHints;
     29 
     30 import com.android.internal.telecom.IVideoProvider;
     31 import com.android.internal.telecom.RemoteServiceCallback;
     32 
     33 /**
     34  * Internal remote callback interface for connection services.
     35  *
     36  * @see android.telecom.ConnectionServiceAdapter
     37  *
     38  * {@hide}
     39  */
     40 oneway interface IConnectionServiceAdapter {
     41     void handleCreateConnectionComplete(
     42             String callId,
     43             in ConnectionRequest request,
     44             in ParcelableConnection connection,
     45             in Session.Info sessionInfo);
     46 
     47     void setActive(String callId, in Session.Info sessionInfo);
     48 
     49     void setRinging(String callId, in Session.Info sessionInfo);
     50 
     51     void setDialing(String callId, in Session.Info sessionInfo);
     52 
     53     void setPulling(String callId, in Session.Info sessionInfo);
     54 
     55     void setDisconnected(String callId, in DisconnectCause disconnectCause,
     56     in Session.Info sessionInfo);
     57 
     58     void setOnHold(String callId, in Session.Info sessionInfo);
     59 
     60     void setRingbackRequested(String callId, boolean ringing, in Session.Info sessionInfo);
     61 
     62     void setConnectionCapabilities(String callId, int connectionCapabilities,
     63     in Session.Info sessionInfo);
     64 
     65     void setConnectionProperties(String callId, int connectionProperties,
     66     in Session.Info sessionInfo);
     67 
     68     void setIsConferenced(String callId, String conferenceCallId, in Session.Info sessionInfo);
     69 
     70     void setConferenceMergeFailed(String callId, in Session.Info sessionInfo);
     71 
     72     void addConferenceCall(String callId, in ParcelableConference conference,
     73     in Session.Info sessionInfo);
     74 
     75     void removeCall(String callId, in Session.Info sessionInfo);
     76 
     77     void onPostDialWait(String callId, String remaining, in Session.Info sessionInfo);
     78 
     79     void onPostDialChar(String callId, char nextChar, in Session.Info sessionInfo);
     80 
     81     void queryRemoteConnectionServices(RemoteServiceCallback callback, String callingPackage,
     82     in Session.Info sessionInfo);
     83 
     84     void setVideoProvider(String callId, IVideoProvider videoProvider, in Session.Info sessionInfo);
     85 
     86     void setVideoState(String callId, int videoState, in Session.Info sessionInfo);
     87 
     88     void setIsVoipAudioMode(String callId, boolean isVoip, in Session.Info sessionInfo);
     89 
     90     void setStatusHints(String callId, in StatusHints statusHints, in Session.Info sessionInfo);
     91 
     92     void setAddress(String callId, in Uri address, int presentation, in Session.Info sessionInfo);
     93 
     94     void setCallerDisplayName(String callId, String callerDisplayName, int presentation,
     95     in Session.Info sessionInfo);
     96 
     97     void setConferenceableConnections(String callId, in List<String> conferenceableCallIds,
     98     in Session.Info sessionInfo);
     99 
    100     void addExistingConnection(String callId, in ParcelableConnection connection,
    101     in Session.Info sessionInfo);
    102 
    103     void putExtras(String callId, in Bundle extras, in Session.Info sessionInfo);
    104 
    105     void removeExtras(String callId, in List<String> keys, in Session.Info sessionInfo);
    106 
    107     void setAudioRoute(String callId, int audioRoute, String bluetoothAddress,
    108             in Session.Info sessionInfo);
    109 
    110     void onConnectionEvent(String callId, String event, in Bundle extras,
    111     in Session.Info sessionInfo);
    112 
    113     void onRttInitiationSuccess(String callId, in Session.Info sessionInfo);
    114 
    115     void onRttInitiationFailure(String callId, int reason, in Session.Info sessionInfo);
    116 
    117     void onRttSessionRemotelyTerminated(String callId, in Session.Info sessionInfo);
    118 
    119     void onRemoteRttRequest(String callId, in Session.Info sessionInfo);
    120 
    121     void onPhoneAccountChanged(String callId, in PhoneAccountHandle pHandle,
    122     in Session.Info sessionInfo);
    123 
    124     void onConnectionServiceFocusReleased(in Session.Info sessionInfo);
    125 
    126     void resetConnectionTime(String callIdi, in Session.Info sessionInfo);
    127 
    128     void setConferenceState(String callId, boolean isConference, in Session.Info sessionInfo);
    129 }
    130