diff options
Diffstat (limited to 'telecomm/java/com/android/internal/telecom')
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); +} |