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
192ab88cc313fc4af7fb9436e236cd3a5d1ac58478Sailesh Nepalimport android.app.PendingIntent;
20612038642fa9cf1545dbcc8274d313192ce928b5Sailesh Nepalimport android.net.Uri;
216b7f955c2d9b231660b8c54f8ef8e8e6ad802625Santos Cordonimport android.os.Bundle;
22ef9f6f957d897ea0ed82114185b8fa3fefd4917bTyler Gunnimport android.telecom.ConnectionRequest;
237f3d41fd124dd7c4a8b72c1d48df08a8ee7209ecAndrew Leeimport android.telecom.DisconnectCause;
24ef9f6f957d897ea0ed82114185b8fa3fefd4917bTyler Gunnimport android.telecom.ParcelableConnection;
25ef9f6f957d897ea0ed82114185b8fa3fefd4917bTyler Gunnimport android.telecom.ParcelableConference;
26ef9f6f957d897ea0ed82114185b8fa3fefd4917bTyler Gunnimport android.telecom.StatusHints;
27bb69b0c2d821a9806fb00037284c399cbc78277dBen Gilad
28ef9f6f957d897ea0ed82114185b8fa3fefd4917bTyler Gunnimport com.android.internal.telecom.IVideoProvider;
29ef9f6f957d897ea0ed82114185b8fa3fefd4917bTyler Gunnimport com.android.internal.telecom.RemoteServiceCallback;
3052d8a15e146e682319380322f94ceb6d93fa1a97Santos Cordon
31bb69b0c2d821a9806fb00037284c399cbc78277dBen Gilad/**
322a46b90222e5c9c73de012382a604a71f9c0c30cSailesh Nepal * Internal remote callback interface for connection services.
332f23664b4fb9527f3b4e12843926ffe2220ea559Ihab Awad *
34ef9f6f957d897ea0ed82114185b8fa3fefd4917bTyler Gunn * @see android.telecom.ConnectionServiceAdapter
352f23664b4fb9527f3b4e12843926ffe2220ea559Ihab Awad *
36ab5d282dd6f487578ae86b2d53d0d8edc9b71747Sailesh Nepal * {@hide}
37bb69b0c2d821a9806fb00037284c399cbc78277dBen Gilad */
382a46b90222e5c9c73de012382a604a71f9c0c30cSailesh Nepaloneway interface IConnectionServiceAdapter {
396107bab041fb7d851fbf865b7310d294aae970c8Ihab Awad    void handleCreateConnectionComplete(
40b19a0bcdd8a5020c61a0d697f600fdc943c86f59Ihab Awad            String callId,
41b19a0bcdd8a5020c61a0d697f600fdc943c86f59Ihab Awad            in ConnectionRequest request,
42b19a0bcdd8a5020c61a0d697f600fdc943c86f59Ihab Awad            in ParcelableConnection connection);
43bb69b0c2d821a9806fb00037284c399cbc78277dBen Gilad
44bb69b0c2d821a9806fb00037284c399cbc78277dBen Gilad    void setActive(String callId);
45bb69b0c2d821a9806fb00037284c399cbc78277dBen Gilad
46bb69b0c2d821a9806fb00037284c399cbc78277dBen Gilad    void setRinging(String callId);
47bb69b0c2d821a9806fb00037284c399cbc78277dBen Gilad
48bb69b0c2d821a9806fb00037284c399cbc78277dBen Gilad    void setDialing(String callId);
49bb69b0c2d821a9806fb00037284c399cbc78277dBen Gilad
507f3d41fd124dd7c4a8b72c1d48df08a8ee7209ecAndrew Lee    void setDisconnected(String callId, in DisconnectCause disconnectCause);
5181ccaaa25cc90c576c7df7c2cccb8a232e8536a1Yorke Lee
5281ccaaa25cc90c576c7df7c2cccb8a232e8536a1Yorke Lee    void setOnHold(String callId);
53f835897f9f799490de27653ae39141ba6bc14223Ihab Awad
54100e293fa8021caed956597daa4e01cb19be1c33Andrew Lee    void setRingbackRequested(String callId, boolean ringing);
55980acb9bd6984a9daad5f584bd35e8d503820200Santos Cordon
565c9c86ec0f95d1f5e1aca212967f508fc736b895Ihab Awad    void setConnectionCapabilities(String callId, int connectionCapabilities);
57980acb9bd6984a9daad5f584bd35e8d503820200Santos Cordon
58720c664401081ca00e56c7eef12641ae792da530Tyler Gunn    void setConnectionProperties(String callId, int connectionProperties);
59720c664401081ca00e56c7eef12641ae792da530Tyler Gunn
60b693998fdfdd4498a33c4c69405f2708e4840aa7Santos Cordon    void setIsConferenced(String callId, String conferenceCallId);
61b693998fdfdd4498a33c4c69405f2708e4840aa7Santos Cordon
6217455a3d39350a39eb995897929977d793358365Anthony Lee    void setConferenceMergeFailed(String callId);
6317455a3d39350a39eb995897929977d793358365Anthony Lee
64823fd3c79dd4f762bbc778e0ce9e2204b6d3d454Santos Cordon    void addConferenceCall(String callId, in ParcelableConference conference);
65980acb9bd6984a9daad5f584bd35e8d503820200Santos Cordon
66980acb9bd6984a9daad5f584bd35e8d503820200Santos Cordon    void removeCall(String callId);
676dea4aceba8f69ee4be346ec356d277a3c153f3dEvan Charlton
686dea4aceba8f69ee4be346ec356d277a3c153f3dEvan Charlton    void onPostDialWait(String callId, String remaining);
698b4818d9b4d632f2d460e7ac9dea463b04db43feSailesh Nepal
7027d1c2d148fe377ca0d2744f0f85789a42c8f808Nancy Chen    void onPostDialChar(String callId, char nextChar);
7127d1c2d148fe377ca0d2744f0f85789a42c8f808Nancy Chen
7252d8a15e146e682319380322f94ceb6d93fa1a97Santos Cordon    void queryRemoteConnectionServices(RemoteServiceCallback callback);
735ffbe8b850c2703b64617f0140d051a5412dd861Andrew Lee
74b19a0bcdd8a5020c61a0d697f600fdc943c86f59Ihab Awad    void setVideoProvider(String callId, IVideoProvider videoProvider);
758d83fa9bbd2ad15299a4419241eb10404e7839beTyler Gunn
76aa07df84f279a87ad6370758c9d792a660f2cebbTyler Gunn    void setVideoState(String callId, int videoState);
77aa07df84f279a87ad6370758c9d792a660f2cebbTyler Gunn
78100e293fa8021caed956597daa4e01cb19be1c33Andrew Lee    void setIsVoipAudioMode(String callId, boolean isVoip);
79e7ef59a77d55c9802cc7d919f7dd794bd5fea30eSailesh Nepal
80e7ef59a77d55c9802cc7d919f7dd794bd5fea30eSailesh Nepal    void setStatusHints(String callId, in StatusHints statusHints);
81612038642fa9cf1545dbcc8274d313192ce928b5Sailesh Nepal
82100e293fa8021caed956597daa4e01cb19be1c33Andrew Lee    void setAddress(String callId, in Uri address, int presentation);
83612038642fa9cf1545dbcc8274d313192ce928b5Sailesh Nepal
84612038642fa9cf1545dbcc8274d313192ce928b5Sailesh Nepal    void setCallerDisplayName(String callId, String callerDisplayName, int presentation);
852ab88cc313fc4af7fb9436e236cd3a5d1ac58478Sailesh Nepal
867c7bc7f6917484250974c5da00af9ef756844b0aSantos Cordon    void setConferenceableConnections(String callId, in List<String> conferenceableCallIds);
874a57b9b59b74c97e559a301af0add13cd4c3331cTyler Gunn
884a57b9b59b74c97e559a301af0add13cd4c3331cTyler Gunn    void addExistingConnection(String callId, in ParcelableConnection connection);
896b7f955c2d9b231660b8c54f8ef8e8e6ad802625Santos Cordon
90dee56a8a79f9daa1e597f5d4f399d3a5feedcac4Tyler Gunn    void putExtras(String callId, in Bundle extras);
91dee56a8a79f9daa1e597f5d4f399d3a5feedcac4Tyler Gunn
92dee56a8a79f9daa1e597f5d4f399d3a5feedcac4Tyler Gunn    void removeExtras(String callId, in List<String> keys);
93bd1eb1f105e99d55fe87d758e8eafbe55a221a30Tyler Gunn
94876dbfb4767da4a2ba5459d5b78fb6eb55e4516fTyler Gunn    void onConnectionEvent(String callId, String event, in Bundle extras);
95bb69b0c2d821a9806fb00037284c399cbc78277dBen Gilad}
96