177e0d606f63c8526931018a3ae86f8b9d722c0bdSailesh Nepal/* 277e0d606f63c8526931018a3ae86f8b9d722c0bdSailesh Nepal * Copyright (C) 2013 The Android Open Source Project 377e0d606f63c8526931018a3ae86f8b9d722c0bdSailesh Nepal * 477e0d606f63c8526931018a3ae86f8b9d722c0bdSailesh Nepal * Licensed under the Apache License, Version 2.0 (the "License"); 577e0d606f63c8526931018a3ae86f8b9d722c0bdSailesh Nepal * you may not use this file except in compliance with the License. 677e0d606f63c8526931018a3ae86f8b9d722c0bdSailesh Nepal * You may obtain a copy of the License at 777e0d606f63c8526931018a3ae86f8b9d722c0bdSailesh Nepal * 877e0d606f63c8526931018a3ae86f8b9d722c0bdSailesh Nepal * http://www.apache.org/licenses/LICENSE-2.0 977e0d606f63c8526931018a3ae86f8b9d722c0bdSailesh Nepal * 1077e0d606f63c8526931018a3ae86f8b9d722c0bdSailesh Nepal * Unless required by applicable law or agreed to in writing, software 1177e0d606f63c8526931018a3ae86f8b9d722c0bdSailesh Nepal * distributed under the License is distributed on an "AS IS" BASIS, 1277e0d606f63c8526931018a3ae86f8b9d722c0bdSailesh Nepal * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1377e0d606f63c8526931018a3ae86f8b9d722c0bdSailesh Nepal * See the License for the specific language governing permissions and 1477e0d606f63c8526931018a3ae86f8b9d722c0bdSailesh Nepal * limitations under the License. 1577e0d606f63c8526931018a3ae86f8b9d722c0bdSailesh Nepal */ 1677e0d606f63c8526931018a3ae86f8b9d722c0bdSailesh Nepal 1777e0d606f63c8526931018a3ae86f8b9d722c0bdSailesh Nepalpackage com.android.internal.telephony; 1877e0d606f63c8526931018a3ae86f8b9d722c0bdSailesh Nepal 1977e0d606f63c8526931018a3ae86f8b9d722c0bdSailesh Nepalimport com.android.internal.telephony.CallInfo; 2077e0d606f63c8526931018a3ae86f8b9d722c0bdSailesh Nepal 2177e0d606f63c8526931018a3ae86f8b9d722c0bdSailesh Nepal/** 2277e0d606f63c8526931018a3ae86f8b9d722c0bdSailesh Nepal * Provides methods for ICallService implementations to interact with the system phone app. 2377e0d606f63c8526931018a3ae86f8b9d722c0bdSailesh Nepal */ 2477e0d606f63c8526931018a3ae86f8b9d722c0bdSailesh Nepaloneway interface ICallServiceAdapter { 2577e0d606f63c8526931018a3ae86f8b9d722c0bdSailesh Nepal 2677e0d606f63c8526931018a3ae86f8b9d722c0bdSailesh Nepal /** 2777e0d606f63c8526931018a3ae86f8b9d722c0bdSailesh Nepal * Retrieves a new unique call id for use with newOutgoingCall and newIncomingCall. 2877e0d606f63c8526931018a3ae86f8b9d722c0bdSailesh Nepal */ 2977e0d606f63c8526931018a3ae86f8b9d722c0bdSailesh Nepal void getNextCallId(/* TODO(santoscordon): Needs response object */); 3077e0d606f63c8526931018a3ae86f8b9d722c0bdSailesh Nepal 3177e0d606f63c8526931018a3ae86f8b9d722c0bdSailesh Nepal /** 3277e0d606f63c8526931018a3ae86f8b9d722c0bdSailesh Nepal * Tells CallsManager of a new incoming call. 3377e0d606f63c8526931018a3ae86f8b9d722c0bdSailesh Nepal */ 3477e0d606f63c8526931018a3ae86f8b9d722c0bdSailesh Nepal void newIncomingCall(String callId, in CallInfo info); 3577e0d606f63c8526931018a3ae86f8b9d722c0bdSailesh Nepal 3677e0d606f63c8526931018a3ae86f8b9d722c0bdSailesh Nepal /** 3777e0d606f63c8526931018a3ae86f8b9d722c0bdSailesh Nepal * Tells CallsManager of a new outgoing call. 3877e0d606f63c8526931018a3ae86f8b9d722c0bdSailesh Nepal */ 3977e0d606f63c8526931018a3ae86f8b9d722c0bdSailesh Nepal void newOutgoingCall(String callId, in CallInfo info); 4077e0d606f63c8526931018a3ae86f8b9d722c0bdSailesh Nepal 4177e0d606f63c8526931018a3ae86f8b9d722c0bdSailesh Nepal /** 4277e0d606f63c8526931018a3ae86f8b9d722c0bdSailesh Nepal * Sets a call's state to active (e.g., an ongoing call where two parties can actively 4377e0d606f63c8526931018a3ae86f8b9d722c0bdSailesh Nepal * communicate). 4477e0d606f63c8526931018a3ae86f8b9d722c0bdSailesh Nepal */ 4577e0d606f63c8526931018a3ae86f8b9d722c0bdSailesh Nepal void setActive(String callId); 4677e0d606f63c8526931018a3ae86f8b9d722c0bdSailesh Nepal 4777e0d606f63c8526931018a3ae86f8b9d722c0bdSailesh Nepal /** 4877e0d606f63c8526931018a3ae86f8b9d722c0bdSailesh Nepal * Sets a call's state to ringing (e.g., an inbound ringing call). 4977e0d606f63c8526931018a3ae86f8b9d722c0bdSailesh Nepal */ 5077e0d606f63c8526931018a3ae86f8b9d722c0bdSailesh Nepal void setRinging(String callId); 5177e0d606f63c8526931018a3ae86f8b9d722c0bdSailesh Nepal 5277e0d606f63c8526931018a3ae86f8b9d722c0bdSailesh Nepal /** 5377e0d606f63c8526931018a3ae86f8b9d722c0bdSailesh Nepal * Sets a call's state to dialing (e.g., dialing an outbound call). 5477e0d606f63c8526931018a3ae86f8b9d722c0bdSailesh Nepal */ 5577e0d606f63c8526931018a3ae86f8b9d722c0bdSailesh Nepal void setDialing(String callId); 5677e0d606f63c8526931018a3ae86f8b9d722c0bdSailesh Nepal 5777e0d606f63c8526931018a3ae86f8b9d722c0bdSailesh Nepal /** 5877e0d606f63c8526931018a3ae86f8b9d722c0bdSailesh Nepal * Sets a call's state to disconnected. 5977e0d606f63c8526931018a3ae86f8b9d722c0bdSailesh Nepal */ 6077e0d606f63c8526931018a3ae86f8b9d722c0bdSailesh Nepal void setDisconnected(String callId); 6177e0d606f63c8526931018a3ae86f8b9d722c0bdSailesh Nepal} 62