IConnectionService.aidl revision 3edafc16ac334dd89d916b7745f2a8d655bbda61
1bb69b0c2d821a9806fb00037284c399cbc78277dBen Gilad/*
22a46b90222e5c9c73de012382a604a71f9c0c30cSailesh Nepal * Copyright (C) 2014 The Android Open Source Project
3bb69b0c2d821a9806fb00037284c399cbc78277dBen Gilad *
4bb69b0c2d821a9806fb00037284c399cbc78277dBen Gilad * Licensed under the Apache License, Version 2.0 (the "License");
5bb69b0c2d821a9806fb00037284c399cbc78277dBen Gilad * you may not use this file except in compliance with the License.
6bb69b0c2d821a9806fb00037284c399cbc78277dBen Gilad * You may obtain a copy of the License at
7bb69b0c2d821a9806fb00037284c399cbc78277dBen Gilad *
8bb69b0c2d821a9806fb00037284c399cbc78277dBen Gilad *      http://www.apache.org/licenses/LICENSE-2.0
9bb69b0c2d821a9806fb00037284c399cbc78277dBen Gilad *
10bb69b0c2d821a9806fb00037284c399cbc78277dBen Gilad * Unless required by applicable law or agreed to in writing, software
11bb69b0c2d821a9806fb00037284c399cbc78277dBen Gilad * distributed under the License is distributed on an "AS IS" BASIS,
12bb69b0c2d821a9806fb00037284c399cbc78277dBen Gilad * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13bb69b0c2d821a9806fb00037284c399cbc78277dBen Gilad * See the License for the specific language governing permissions and
14bb69b0c2d821a9806fb00037284c399cbc78277dBen Gilad * limitations under the License.
15bb69b0c2d821a9806fb00037284c399cbc78277dBen Gilad */
16bb69b0c2d821a9806fb00037284c399cbc78277dBen Gilad
17ef9f6f957d897ea0ed82114185b8fa3fefd4917bTyler Gunnpackage com.android.internal.telecom;
18bb69b0c2d821a9806fb00037284c399cbc78277dBen Gilad
1974f6bf88eb0247b25caa8be9d170be6ba4cf5d28Evan Charltonimport android.os.Bundle;
204af5935c71f1e31ef1aec27661c4ef60545a0924Yorke Leeimport android.telecom.CallAudioState;
21ef9f6f957d897ea0ed82114185b8fa3fefd4917bTyler Gunnimport android.telecom.ConnectionRequest;
22b32d4f8b5cd5b9c2415e291896b83267e1b4d5feBrad Ebingerimport android.telecom.Logging.Session;
23ef9f6f957d897ea0ed82114185b8fa3fefd4917bTyler Gunnimport android.telecom.PhoneAccountHandle;
24ab5d282dd6f487578ae86b2d53d0d8edc9b71747Sailesh Nepal
25ef9f6f957d897ea0ed82114185b8fa3fefd4917bTyler Gunnimport com.android.internal.telecom.IConnectionServiceAdapter;
26bb69b0c2d821a9806fb00037284c399cbc78277dBen Gilad
27bb69b0c2d821a9806fb00037284c399cbc78277dBen Gilad/**
282a46b90222e5c9c73de012382a604a71f9c0c30cSailesh Nepal * Internal remote interface for connection services.
29bb69b0c2d821a9806fb00037284c399cbc78277dBen Gilad *
30ef9f6f957d897ea0ed82114185b8fa3fefd4917bTyler Gunn * @see android.telecom.ConnectionService
31bb69b0c2d821a9806fb00037284c399cbc78277dBen Gilad *
322f23664b4fb9527f3b4e12843926ffe2220ea559Ihab Awad * @hide
33bb69b0c2d821a9806fb00037284c399cbc78277dBen Gilad */
342a46b90222e5c9c73de012382a604a71f9c0c30cSailesh Nepaloneway interface IConnectionService {
35b32d4f8b5cd5b9c2415e291896b83267e1b4d5feBrad Ebinger    void addConnectionServiceAdapter(in IConnectionServiceAdapter adapter,
36b32d4f8b5cd5b9c2415e291896b83267e1b4d5feBrad Ebinger    in Session.Info sessionInfo);
37e57944dd55f72aa1b9fc04c6b6bc48992076fdf6Ben Gilad
38b32d4f8b5cd5b9c2415e291896b83267e1b4d5feBrad Ebinger    void removeConnectionServiceAdapter(in IConnectionServiceAdapter adapter,
39b32d4f8b5cd5b9c2415e291896b83267e1b4d5feBrad Ebinger    in Session.Info sessionInfo);
408aecfedb7b5ac1c909a83f97ef8dad7ca4c68d0fIhab Awad
41f8b69887b438683adee56ad1038d1414cc501ff9Ihab Awad    void createConnection(
42f8b69887b438683adee56ad1038d1414cc501ff9Ihab Awad            in PhoneAccountHandle connectionManagerPhoneAccount,
43b19a0bcdd8a5020c61a0d697f600fdc943c86f59Ihab Awad            String callId,
44f8b69887b438683adee56ad1038d1414cc501ff9Ihab Awad            in ConnectionRequest request,
45c3cf982d18e28fc27126265422f36c5e845808dbYorke Lee            boolean isIncoming,
46b32d4f8b5cd5b9c2415e291896b83267e1b4d5feBrad Ebinger            boolean isUnknown,
47b32d4f8b5cd5b9c2415e291896b83267e1b4d5feBrad Ebinger            in Session.Info sessionInfo);
48bb69b0c2d821a9806fb00037284c399cbc78277dBen Gilad
493edafc16ac334dd89d916b7745f2a8d655bbda61Tyler Gunn    void createConnectionFailed(String callId, in ConnectionRequest request, boolean isIncoming,
503edafc16ac334dd89d916b7745f2a8d655bbda61Tyler Gunn            in Session.Info sessionInfo);
513edafc16ac334dd89d916b7745f2a8d655bbda61Tyler Gunn
52b32d4f8b5cd5b9c2415e291896b83267e1b4d5feBrad Ebinger    void abort(String callId, in Session.Info sessionInfo);
53bd63f90a789bfb608dbd036d60c4d08f9fd1f2d9Santos Cordon
54b32d4f8b5cd5b9c2415e291896b83267e1b4d5feBrad Ebinger    void answerVideo(String callId, int videoState, in Session.Info sessionInfo);
55be74de0978a7eaa577f6b61902b550a3161aff8bTyler Gunn
56b32d4f8b5cd5b9c2415e291896b83267e1b4d5feBrad Ebinger    void answer(String callId, in Session.Info sessionInfo);
57b340c331bca330e9cb60ce6e398b3c014e1a14c7Santos Cordon
58b32d4f8b5cd5b9c2415e291896b83267e1b4d5feBrad Ebinger    void reject(String callId, in Session.Info sessionInfo);
593fadaa923272675d841eda3d46b3e1d9dc08c819Ben Gilad
60b32d4f8b5cd5b9c2415e291896b83267e1b4d5feBrad Ebinger    void rejectWithMessage(String callId, String message, in Session.Info sessionInfo);
618190168077aa3ef02a1f5a3a636130d83c4eec1dBryce Lee
62b32d4f8b5cd5b9c2415e291896b83267e1b4d5feBrad Ebinger    void disconnect(String callId, in Session.Info sessionInfo);
6381ccaaa25cc90c576c7df7c2cccb8a232e8536a1Yorke Lee
64b32d4f8b5cd5b9c2415e291896b83267e1b4d5feBrad Ebinger    void silence(String callId, in Session.Info sessionInfo);
65cac50775b2e13c293d224b8d09feb15f9ee40c3fBryce Lee
66b32d4f8b5cd5b9c2415e291896b83267e1b4d5feBrad Ebinger    void hold(String callId, in Session.Info sessionInfo);
6781ccaaa25cc90c576c7df7c2cccb8a232e8536a1Yorke Lee
68b32d4f8b5cd5b9c2415e291896b83267e1b4d5feBrad Ebinger    void unhold(String callId, in Session.Info sessionInfo);
694cff392a2b3702514e78c5419bf15de6e39c59afSailesh Nepal
70b32d4f8b5cd5b9c2415e291896b83267e1b4d5feBrad Ebinger    void onCallAudioStateChanged(String activeCallId, in CallAudioState callAudioState,
71b32d4f8b5cd5b9c2415e291896b83267e1b4d5feBrad Ebinger    in Session.Info sessionInfo);
722f23664b4fb9527f3b4e12843926ffe2220ea559Ihab Awad
73b32d4f8b5cd5b9c2415e291896b83267e1b4d5feBrad Ebinger    void playDtmfTone(String callId, char digit, in Session.Info sessionInfo);
742f23664b4fb9527f3b4e12843926ffe2220ea559Ihab Awad
75b32d4f8b5cd5b9c2415e291896b83267e1b4d5feBrad Ebinger    void stopDtmfTone(String callId, in Session.Info sessionInfo);
76980acb9bd6984a9daad5f584bd35e8d503820200Santos Cordon
77b32d4f8b5cd5b9c2415e291896b83267e1b4d5feBrad Ebinger    void conference(String conferenceCallId, String callId, in Session.Info sessionInfo);
78980acb9bd6984a9daad5f584bd35e8d503820200Santos Cordon
79b32d4f8b5cd5b9c2415e291896b83267e1b4d5feBrad Ebinger    void splitFromConference(String callId, in Session.Info sessionInfo);
806dea4aceba8f69ee4be346ec356d277a3c153f3dEvan Charlton
81b32d4f8b5cd5b9c2415e291896b83267e1b4d5feBrad Ebinger    void mergeConference(String conferenceCallId, in Session.Info sessionInfo);
82a48680427e022ab6eb73277faac6c57831ee6ff9Santos Cordon
83b32d4f8b5cd5b9c2415e291896b83267e1b4d5feBrad Ebinger    void swapConference(String conferenceCallId, in Session.Info sessionInfo);
84a48680427e022ab6eb73277faac6c57831ee6ff9Santos Cordon
85b32d4f8b5cd5b9c2415e291896b83267e1b4d5feBrad Ebinger    void onPostDialContinue(String callId, boolean proceed, in Session.Info sessionInfo);
86876dbfb4767da4a2ba5459d5b78fb6eb55e4516fTyler Gunn
87b32d4f8b5cd5b9c2415e291896b83267e1b4d5feBrad Ebinger    void pullExternalCall(String callId, in Session.Info sessionInfo);
88876dbfb4767da4a2ba5459d5b78fb6eb55e4516fTyler Gunn
89b32d4f8b5cd5b9c2415e291896b83267e1b4d5feBrad Ebinger    void sendCallEvent(String callId, String event, in Bundle extras, in Session.Info sessionInfo);
90dee56a8a79f9daa1e597f5d4f399d3a5feedcac4Tyler Gunn
91b32d4f8b5cd5b9c2415e291896b83267e1b4d5feBrad Ebinger    void onExtrasChanged(String callId, in Bundle extras, in Session.Info sessionInfo);
92bb69b0c2d821a9806fb00037284c399cbc78277dBen Gilad}
93