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; 2057006aa82a69740df73415a456d31993e2785e24Hall Liuimport android.os.ParcelFileDescriptor; 214af5935c71f1e31ef1aec27661c4ef60545a0924Yorke Leeimport android.telecom.CallAudioState; 22ef9f6f957d897ea0ed82114185b8fa3fefd4917bTyler Gunnimport android.telecom.ConnectionRequest; 23b32d4f8b5cd5b9c2415e291896b83267e1b4d5feBrad Ebingerimport android.telecom.Logging.Session; 24ef9f6f957d897ea0ed82114185b8fa3fefd4917bTyler Gunnimport android.telecom.PhoneAccountHandle; 25ab5d282dd6f487578ae86b2d53d0d8edc9b71747Sailesh Nepal 26ef9f6f957d897ea0ed82114185b8fa3fefd4917bTyler Gunnimport com.android.internal.telecom.IConnectionServiceAdapter; 27bb69b0c2d821a9806fb00037284c399cbc78277dBen Gilad 28bb69b0c2d821a9806fb00037284c399cbc78277dBen Gilad/** 292a46b90222e5c9c73de012382a604a71f9c0c30cSailesh Nepal * Internal remote interface for connection services. 30bb69b0c2d821a9806fb00037284c399cbc78277dBen Gilad * 31ef9f6f957d897ea0ed82114185b8fa3fefd4917bTyler Gunn * @see android.telecom.ConnectionService 32bb69b0c2d821a9806fb00037284c399cbc78277dBen Gilad * 332f23664b4fb9527f3b4e12843926ffe2220ea559Ihab Awad * @hide 34bb69b0c2d821a9806fb00037284c399cbc78277dBen Gilad */ 352a46b90222e5c9c73de012382a604a71f9c0c30cSailesh Nepaloneway interface IConnectionService { 36b32d4f8b5cd5b9c2415e291896b83267e1b4d5feBrad Ebinger void addConnectionServiceAdapter(in IConnectionServiceAdapter adapter, 37b32d4f8b5cd5b9c2415e291896b83267e1b4d5feBrad Ebinger in Session.Info sessionInfo); 38e57944dd55f72aa1b9fc04c6b6bc48992076fdf6Ben Gilad 39b32d4f8b5cd5b9c2415e291896b83267e1b4d5feBrad Ebinger void removeConnectionServiceAdapter(in IConnectionServiceAdapter adapter, 40b32d4f8b5cd5b9c2415e291896b83267e1b4d5feBrad Ebinger in Session.Info sessionInfo); 418aecfedb7b5ac1c909a83f97ef8dad7ca4c68d0fIhab Awad 42f8b69887b438683adee56ad1038d1414cc501ff9Ihab Awad void createConnection( 43f8b69887b438683adee56ad1038d1414cc501ff9Ihab Awad in PhoneAccountHandle connectionManagerPhoneAccount, 44b19a0bcdd8a5020c61a0d697f600fdc943c86f59Ihab Awad String callId, 45f8b69887b438683adee56ad1038d1414cc501ff9Ihab Awad in ConnectionRequest request, 46c3cf982d18e28fc27126265422f36c5e845808dbYorke Lee boolean isIncoming, 47b32d4f8b5cd5b9c2415e291896b83267e1b4d5feBrad Ebinger boolean isUnknown, 48b32d4f8b5cd5b9c2415e291896b83267e1b4d5feBrad Ebinger in Session.Info sessionInfo); 49bb69b0c2d821a9806fb00037284c399cbc78277dBen Gilad 50d104a4f7f67ad6ca098bef0dc3824c5c47e7bcafTyler Gunn void createConnectionComplete(String callId, in Session.Info sessionInfo); 51d104a4f7f67ad6ca098bef0dc3824c5c47e7bcafTyler Gunn 52159f35c8e4a2d5902cbbeb8d3b9a80bddf247de3Tyler Gunn void createConnectionFailed(in PhoneAccountHandle connectionManagerPhoneAccount, String callId, 53159f35c8e4a2d5902cbbeb8d3b9a80bddf247de3Tyler Gunn in ConnectionRequest request, boolean isIncoming, in Session.Info sessionInfo); 543edafc16ac334dd89d916b7745f2a8d655bbda61Tyler Gunn 55b32d4f8b5cd5b9c2415e291896b83267e1b4d5feBrad Ebinger void abort(String callId, in Session.Info sessionInfo); 56bd63f90a789bfb608dbd036d60c4d08f9fd1f2d9Santos Cordon 57b32d4f8b5cd5b9c2415e291896b83267e1b4d5feBrad Ebinger void answerVideo(String callId, int videoState, in Session.Info sessionInfo); 58be74de0978a7eaa577f6b61902b550a3161aff8bTyler Gunn 59b32d4f8b5cd5b9c2415e291896b83267e1b4d5feBrad Ebinger void answer(String callId, in Session.Info sessionInfo); 60b340c331bca330e9cb60ce6e398b3c014e1a14c7Santos Cordon 61b32d4f8b5cd5b9c2415e291896b83267e1b4d5feBrad Ebinger void reject(String callId, in Session.Info sessionInfo); 623fadaa923272675d841eda3d46b3e1d9dc08c819Ben Gilad 63b32d4f8b5cd5b9c2415e291896b83267e1b4d5feBrad Ebinger void rejectWithMessage(String callId, String message, in Session.Info sessionInfo); 648190168077aa3ef02a1f5a3a636130d83c4eec1dBryce Lee 65b32d4f8b5cd5b9c2415e291896b83267e1b4d5feBrad Ebinger void disconnect(String callId, in Session.Info sessionInfo); 6681ccaaa25cc90c576c7df7c2cccb8a232e8536a1Yorke Lee 67b32d4f8b5cd5b9c2415e291896b83267e1b4d5feBrad Ebinger void silence(String callId, in Session.Info sessionInfo); 68cac50775b2e13c293d224b8d09feb15f9ee40c3fBryce Lee 69b32d4f8b5cd5b9c2415e291896b83267e1b4d5feBrad Ebinger void hold(String callId, in Session.Info sessionInfo); 7081ccaaa25cc90c576c7df7c2cccb8a232e8536a1Yorke Lee 71b32d4f8b5cd5b9c2415e291896b83267e1b4d5feBrad Ebinger void unhold(String callId, in Session.Info sessionInfo); 724cff392a2b3702514e78c5419bf15de6e39c59afSailesh Nepal 73b32d4f8b5cd5b9c2415e291896b83267e1b4d5feBrad Ebinger void onCallAudioStateChanged(String activeCallId, in CallAudioState callAudioState, 74b32d4f8b5cd5b9c2415e291896b83267e1b4d5feBrad Ebinger in Session.Info sessionInfo); 752f23664b4fb9527f3b4e12843926ffe2220ea559Ihab Awad 76b32d4f8b5cd5b9c2415e291896b83267e1b4d5feBrad Ebinger void playDtmfTone(String callId, char digit, in Session.Info sessionInfo); 772f23664b4fb9527f3b4e12843926ffe2220ea559Ihab Awad 78b32d4f8b5cd5b9c2415e291896b83267e1b4d5feBrad Ebinger void stopDtmfTone(String callId, in Session.Info sessionInfo); 79980acb9bd6984a9daad5f584bd35e8d503820200Santos Cordon 80b32d4f8b5cd5b9c2415e291896b83267e1b4d5feBrad Ebinger void conference(String conferenceCallId, String callId, in Session.Info sessionInfo); 81980acb9bd6984a9daad5f584bd35e8d503820200Santos Cordon 82b32d4f8b5cd5b9c2415e291896b83267e1b4d5feBrad Ebinger void splitFromConference(String callId, in Session.Info sessionInfo); 836dea4aceba8f69ee4be346ec356d277a3c153f3dEvan Charlton 84b32d4f8b5cd5b9c2415e291896b83267e1b4d5feBrad Ebinger void mergeConference(String conferenceCallId, in Session.Info sessionInfo); 85a48680427e022ab6eb73277faac6c57831ee6ff9Santos Cordon 86b32d4f8b5cd5b9c2415e291896b83267e1b4d5feBrad Ebinger void swapConference(String conferenceCallId, in Session.Info sessionInfo); 87a48680427e022ab6eb73277faac6c57831ee6ff9Santos Cordon 88b32d4f8b5cd5b9c2415e291896b83267e1b4d5feBrad Ebinger void onPostDialContinue(String callId, boolean proceed, in Session.Info sessionInfo); 89876dbfb4767da4a2ba5459d5b78fb6eb55e4516fTyler Gunn 90b32d4f8b5cd5b9c2415e291896b83267e1b4d5feBrad Ebinger void pullExternalCall(String callId, in Session.Info sessionInfo); 91876dbfb4767da4a2ba5459d5b78fb6eb55e4516fTyler Gunn 92b32d4f8b5cd5b9c2415e291896b83267e1b4d5feBrad Ebinger void sendCallEvent(String callId, String event, in Bundle extras, in Session.Info sessionInfo); 93dee56a8a79f9daa1e597f5d4f399d3a5feedcac4Tyler Gunn 94b32d4f8b5cd5b9c2415e291896b83267e1b4d5feBrad Ebinger void onExtrasChanged(String callId, in Bundle extras, in Session.Info sessionInfo); 9557006aa82a69740df73415a456d31993e2785e24Hall Liu 9657006aa82a69740df73415a456d31993e2785e24Hall Liu void startRtt(String callId, in ParcelFileDescriptor fromInCall, 9757006aa82a69740df73415a456d31993e2785e24Hall Liu in ParcelFileDescriptor toInCall, in Session.Info sessionInfo); 9857006aa82a69740df73415a456d31993e2785e24Hall Liu 9957006aa82a69740df73415a456d31993e2785e24Hall Liu void stopRtt(String callId, in Session.Info sessionInfo); 10057006aa82a69740df73415a456d31993e2785e24Hall Liu 10157006aa82a69740df73415a456d31993e2785e24Hall Liu void respondToRttUpgradeRequest(String callId, in ParcelFileDescriptor fromInCall, 10257006aa82a69740df73415a456d31993e2785e24Hall Liu in ParcelFileDescriptor toInCall, in Session.Info sessionInfo); 103bb69b0c2d821a9806fb00037284c399cbc78277dBen Gilad} 104