summaryrefslogtreecommitdiffstats
path: root/telecomm/java/com/android/internal/telecom
diff options
context:
space:
mode:
Diffstat (limited to 'telecomm/java/com/android/internal/telecom')
-rw-r--r--telecomm/java/com/android/internal/telecom/IConnectionService.aidl73
-rw-r--r--telecomm/java/com/android/internal/telecom/IConnectionServiceAdapter.aidl79
-rw-r--r--telecomm/java/com/android/internal/telecom/IInCallAdapter.aidl62
-rw-r--r--telecomm/java/com/android/internal/telecom/IInCallService.aidl46
-rw-r--r--telecomm/java/com/android/internal/telecom/ITelecomService.aidl175
-rw-r--r--telecomm/java/com/android/internal/telecom/IVideoCallback.aidl45
-rw-r--r--telecomm/java/com/android/internal/telecom/IVideoProvider.aidl49
-rw-r--r--telecomm/java/com/android/internal/telecom/RemoteServiceCallback.aidl29
8 files changed, 558 insertions, 0 deletions
diff --git a/telecomm/java/com/android/internal/telecom/IConnectionService.aidl b/telecomm/java/com/android/internal/telecom/IConnectionService.aidl
new file mode 100644
index 0000000..1059da3
--- /dev/null
+++ b/telecomm/java/com/android/internal/telecom/IConnectionService.aidl
@@ -0,0 +1,73 @@
+/*
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.internal.telecom;
+
+import android.os.Bundle;
+import android.telecom.AudioState;
+import android.telecom.ConnectionRequest;
+import android.telecom.PhoneAccountHandle;
+
+import com.android.internal.telecom.IConnectionServiceAdapter;
+
+/**
+ * Internal remote interface for connection services.
+ *
+ * @see android.telecom.ConnectionService
+ *
+ * @hide
+ */
+oneway interface IConnectionService {
+ void addConnectionServiceAdapter(in IConnectionServiceAdapter adapter);
+
+ void removeConnectionServiceAdapter(in IConnectionServiceAdapter adapter);
+
+ void createConnection(
+ in PhoneAccountHandle connectionManagerPhoneAccount,
+ String callId,
+ in ConnectionRequest request,
+ boolean isIncoming);
+
+ void abort(String callId);
+
+ void answerVideo(String callId, int videoState);
+
+ void answer(String callId);
+
+ void reject(String callId);
+
+ void disconnect(String callId);
+
+ void hold(String callId);
+
+ void unhold(String callId);
+
+ void onAudioStateChanged(String activeCallId, in AudioState audioState);
+
+ void playDtmfTone(String callId, char digit);
+
+ void stopDtmfTone(String callId);
+
+ void conference(String conferenceCallId, String callId);
+
+ void splitFromConference(String callId);
+
+ void mergeConference(String conferenceCallId);
+
+ void swapConference(String conferenceCallId);
+
+ void onPostDialContinue(String callId, boolean proceed);
+}
diff --git a/telecomm/java/com/android/internal/telecom/IConnectionServiceAdapter.aidl b/telecomm/java/com/android/internal/telecom/IConnectionServiceAdapter.aidl
new file mode 100644
index 0000000..8f3506d
--- /dev/null
+++ b/telecomm/java/com/android/internal/telecom/IConnectionServiceAdapter.aidl
@@ -0,0 +1,79 @@
+/*
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.internal.telecom;
+
+import android.app.PendingIntent;
+import android.net.Uri;
+import android.telecom.ConnectionRequest;
+import android.telecom.ParcelableConnection;
+import android.telecom.ParcelableConference;
+import android.telecom.StatusHints;
+
+import com.android.internal.telecom.IVideoProvider;
+import com.android.internal.telecom.RemoteServiceCallback;
+
+/**
+ * Internal remote callback interface for connection services.
+ *
+ * @see android.telecom.ConnectionServiceAdapter
+ *
+ * {@hide}
+ */
+oneway interface IConnectionServiceAdapter {
+ void handleCreateConnectionComplete(
+ String callId,
+ in ConnectionRequest request,
+ in ParcelableConnection connection);
+
+ void setActive(String callId);
+
+ void setRinging(String callId);
+
+ void setDialing(String callId);
+
+ void setDisconnected(String callId, int disconnectCause, String disconnectMessage);
+
+ void setOnHold(String callId);
+
+ void setRingbackRequested(String callId, boolean ringing);
+
+ void setCallCapabilities(String callId, int callCapabilities);
+
+ void setIsConferenced(String callId, String conferenceCallId);
+
+ void addConferenceCall(String callId, in ParcelableConference conference);
+
+ void removeCall(String callId);
+
+ void onPostDialWait(String callId, String remaining);
+
+ void queryRemoteConnectionServices(RemoteServiceCallback callback);
+
+ void setVideoProvider(String callId, IVideoProvider videoProvider);
+
+ void setVideoState(String callId, int videoState);
+
+ void setIsVoipAudioMode(String callId, boolean isVoip);
+
+ void setStatusHints(String callId, in StatusHints statusHints);
+
+ void setAddress(String callId, in Uri address, int presentation);
+
+ void setCallerDisplayName(String callId, String callerDisplayName, int presentation);
+
+ void setConferenceableConnections(String callId, in List<String> conferenceableCallIds);
+}
diff --git a/telecomm/java/com/android/internal/telecom/IInCallAdapter.aidl b/telecomm/java/com/android/internal/telecom/IInCallAdapter.aidl
new file mode 100644
index 0000000..138a877
--- /dev/null
+++ b/telecomm/java/com/android/internal/telecom/IInCallAdapter.aidl
@@ -0,0 +1,62 @@
+/*
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.internal.telecom;
+
+import android.telecom.PhoneAccountHandle;
+
+/**
+ * Internal remote callback interface for in-call services.
+ *
+ * @see android.telecom.InCallAdapter
+ *
+ * {@hide}
+ */
+oneway interface IInCallAdapter {
+ void answerCall(String callId, int videoState);
+
+ void rejectCall(String callId, boolean rejectWithMessage, String textMessage);
+
+ void disconnectCall(String callId);
+
+ void holdCall(String callId);
+
+ void unholdCall(String callId);
+
+ void mute(boolean shouldMute);
+
+ void setAudioRoute(int route);
+
+ void playDtmfTone(String callId, char digit);
+
+ void stopDtmfTone(String callId);
+
+ void postDialContinue(String callId, boolean proceed);
+
+ void phoneAccountSelected(String callId, in PhoneAccountHandle accountHandle);
+
+ void conference(String callId, String otherCallId);
+
+ void splitFromConference(String callId);
+
+ void mergeConference(String callId);
+
+ void swapConference(String callId);
+
+ void turnOnProximitySensor();
+
+ void turnOffProximitySensor(boolean screenOnImmediately);
+}
diff --git a/telecomm/java/com/android/internal/telecom/IInCallService.aidl b/telecomm/java/com/android/internal/telecom/IInCallService.aidl
new file mode 100644
index 0000000..35f6f65
--- /dev/null
+++ b/telecomm/java/com/android/internal/telecom/IInCallService.aidl
@@ -0,0 +1,46 @@
+/*
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.internal.telecom;
+
+import android.app.PendingIntent;
+import android.telecom.AudioState;
+import android.telecom.ParcelableCall;
+
+import com.android.internal.telecom.IInCallAdapter;
+
+/**
+ * Internal remote interface for in-call services.
+ *
+ * @see android.telecom.InCallService
+ *
+ * {@hide}
+ */
+oneway interface IInCallService {
+ void setInCallAdapter(in IInCallAdapter inCallAdapter);
+
+ void addCall(in ParcelableCall call);
+
+ void updateCall(in ParcelableCall call);
+
+ void setPostDial(String callId, String remaining);
+
+ void setPostDialWait(String callId, String remaining);
+
+ void onAudioStateChanged(in AudioState audioState);
+
+ void bringToForeground(boolean showDialpad);
+}
diff --git a/telecomm/java/com/android/internal/telecom/ITelecomService.aidl b/telecomm/java/com/android/internal/telecom/ITelecomService.aidl
new file mode 100644
index 0000000..4edce53
--- /dev/null
+++ b/telecomm/java/com/android/internal/telecom/ITelecomService.aidl
@@ -0,0 +1,175 @@
+/*
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.internal.telecom;
+
+import android.content.ComponentName;
+import android.telecom.PhoneAccountHandle;
+import android.os.Bundle;
+import android.telecom.PhoneAccount;
+
+/**
+ * Interface used to interact with Telecom. Mostly this is used by TelephonyManager for passing
+ * commands that were previously handled by ITelephony.
+ * {@hide}
+ */
+interface ITelecomService {
+ /**
+ * Brings the in-call screen to the foreground if there is an active call.
+ *
+ * @param showDialpad if true, make the dialpad visible initially.
+ */
+ void showInCallScreen(boolean showDialpad);
+
+ /**
+ * @see TelecomServiceImpl#getDefaultOutgoingPhoneAccount
+ */
+ PhoneAccountHandle getDefaultOutgoingPhoneAccount(in String uriScheme);
+
+ /**
+ * @see TelecomServiceImpl#getUserSelectedOutgoingPhoneAccount
+ */
+ PhoneAccountHandle getUserSelectedOutgoingPhoneAccount();
+
+ /**
+ * @see TelecomServiceImpl#setUserSelectedOutgoingPhoneAccount
+ */
+ void setUserSelectedOutgoingPhoneAccount(in PhoneAccountHandle account);
+
+ /**
+ * @see TelecomServiceImpl#getEnabledPhoneAccounts
+ */
+ List<PhoneAccountHandle> getEnabledPhoneAccounts();
+
+ /**
+ * @see TelecomManager#getPhoneAccountsSupportingScheme
+ */
+ List<PhoneAccountHandle> getPhoneAccountsSupportingScheme(in String uriScheme);
+
+ /**
+ * @see TelecomManager#getPhoneAccount
+ */
+ PhoneAccount getPhoneAccount(in PhoneAccountHandle account);
+
+ /**
+ * @see TelecomManager#getAllPhoneAccountsCount
+ */
+ int getAllPhoneAccountsCount();
+
+ /**
+ * @see TelecomManager#getAllPhoneAccounts
+ */
+ List<PhoneAccount> getAllPhoneAccounts();
+
+ /**
+ * @see TelecomManager#getAllPhoneAccountHandles
+ */
+ List<PhoneAccountHandle> getAllPhoneAccountHandles();
+
+ /**
+ * @see TelecomServiceImpl#getSimCallManager
+ */
+ PhoneAccountHandle getSimCallManager();
+
+ /**
+ * @see TelecomServiceImpl#setSimCallManager
+ */
+ void setSimCallManager(in PhoneAccountHandle account);
+
+ /**
+ * @see TelecomServiceImpl#getSimCallManagers
+ */
+ List<PhoneAccountHandle> getSimCallManagers();
+
+ /**
+ * @see TelecomServiceImpl#setPhoneAccountEnabled
+ */
+ void setPhoneAccountEnabled(in PhoneAccountHandle account, in boolean isEnabled);
+
+ /**
+ * @see TelecomServiceImpl#registerPhoneAccount
+ */
+ void registerPhoneAccount(in PhoneAccount metadata);
+
+ /**
+ * @see TelecomServiceImpl#unregisterPhoneAccount
+ */
+ void unregisterPhoneAccount(in PhoneAccountHandle account);
+
+ /**
+ * @see TelecomServiceImpl#clearAccounts
+ */
+ void clearAccounts(String packageName);
+
+ /**
+ * @see TelecomServiceImpl#getDefaultPhoneApp
+ */
+ ComponentName getDefaultPhoneApp();
+
+ //
+ // Internal system apis relating to call management.
+ //
+
+ /**
+ * @see TelecomServiceImpl#silenceRinger
+ */
+ void silenceRinger();
+
+ /**
+ * @see TelecomServiceImpl#isInCall
+ */
+ boolean isInCall();
+
+ /**
+ * @see TelecomServiceImpl#isRinging
+ */
+ boolean isRinging();
+
+ /**
+ * @see TelecomServiceImpl#endCall
+ */
+ boolean endCall();
+
+ /**
+ * @see TelecomServiceImpl#acceptRingingCall
+ */
+ void acceptRingingCall();
+
+ /**
+ * @see TelecomServiceImpl#cancelMissedCallsNotification
+ */
+ void cancelMissedCallsNotification();
+
+ /**
+ * @see TelecomServiceImpl#handleMmi
+ */
+ boolean handlePinMmi(String dialString);
+
+ /**
+ * @see TelecomServiceImpl#isTtySupported
+ */
+ boolean isTtySupported();
+
+ /**
+ * @see TelecomServiceImpl#getCurrentTtyMode
+ */
+ int getCurrentTtyMode();
+
+ /**
+ * @see TelecomServiceImpl#addNewIncomingCall
+ */
+ void addNewIncomingCall(in PhoneAccountHandle phoneAccount, in Bundle extras);
+}
diff --git a/telecomm/java/com/android/internal/telecom/IVideoCallback.aidl b/telecomm/java/com/android/internal/telecom/IVideoCallback.aidl
new file mode 100644
index 0000000..f758b60
--- /dev/null
+++ b/telecomm/java/com/android/internal/telecom/IVideoCallback.aidl
@@ -0,0 +1,45 @@
+/*
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.internal.telecom;
+
+import android.telecom.CameraCapabilities;
+import android.telecom.VideoProfile;
+
+ /**
+ * Internal definition of a callback interface, used for an InCallUi to respond to video
+ * telephony changes.
+ *
+ * @see android.telecom.InCallService.VideoCall.Listener
+ *
+ * {@hide}
+ */
+oneway interface IVideoCallback {
+ void receiveSessionModifyRequest(in VideoProfile videoProfile);
+
+ void receiveSessionModifyResponse(
+ int status,
+ in VideoProfile requestedProfile,
+ in VideoProfile responseProfile);
+
+ void handleCallSessionEvent(int event);
+
+ void changePeerDimensions(int width, int height);
+
+ void changeCallDataUsage(int dataUsage);
+
+ void changeCameraCapabilities(in CameraCapabilities cameraCapabilities);
+}
diff --git a/telecomm/java/com/android/internal/telecom/IVideoProvider.aidl b/telecomm/java/com/android/internal/telecom/IVideoProvider.aidl
new file mode 100644
index 0000000..e96d9d3
--- /dev/null
+++ b/telecomm/java/com/android/internal/telecom/IVideoProvider.aidl
@@ -0,0 +1,49 @@
+/*
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.internal.telecom;
+
+import android.view.Surface;
+import android.telecom.VideoProfile;
+
+/**
+ * Internal remote interface for a video call provider.
+ * @see android.telecom.VideoProvider
+ * @hide
+ */
+oneway interface IVideoProvider {
+ void setVideoCallback(IBinder videoCallbackBinder);
+
+ void setCamera(String cameraId);
+
+ void setPreviewSurface(in Surface surface);
+
+ void setDisplaySurface(in Surface surface);
+
+ void setDeviceOrientation(int rotation);
+
+ void setZoom(float value);
+
+ void sendSessionModifyRequest(in VideoProfile reqProfile);
+
+ void sendSessionModifyResponse(in VideoProfile responseProfile);
+
+ void requestCameraCapabilities();
+
+ void requestCallDataUsage();
+
+ void setPauseImage(String uri);
+}
diff --git a/telecomm/java/com/android/internal/telecom/RemoteServiceCallback.aidl b/telecomm/java/com/android/internal/telecom/RemoteServiceCallback.aidl
new file mode 100644
index 0000000..441704d
--- /dev/null
+++ b/telecomm/java/com/android/internal/telecom/RemoteServiceCallback.aidl
@@ -0,0 +1,29 @@
+/*
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.internal.telecom;
+
+import android.content.ComponentName;
+
+/**
+ * Simple response callback object.
+ *
+ * {@hide}
+ */
+oneway interface RemoteServiceCallback {
+ void onError();
+ void onResult(in List<ComponentName> components, in List<IBinder> callServices);
+}