Add interface definitions for CallService/PhoneService
Interfaces are meant to replace ThirdParty*.aidl/java files in same directory long term. The differences in methods are on purpose and reflect more recent design directions. Change-Id: Ia98603a1d0b6d07a3393c5f7c5aa040f9e3916e4
This commit is contained in:
@@ -272,6 +272,8 @@ LOCAL_SRC_FILES += \
|
||||
media/java/android/media/IRemoteDisplayProvider.aidl \
|
||||
media/java/android/media/IRemoteVolumeObserver.aidl \
|
||||
media/java/android/media/IRingtonePlayer.aidl \
|
||||
telephony/java/com/android/internal/telephony/ICallService.aidl \
|
||||
telephony/java/com/android/internal/telephony/ICallServiceAdapter.aidl \
|
||||
telephony/java/com/android/internal/telephony/IPhoneStateListener.aidl \
|
||||
telephony/java/com/android/internal/telephony/IPhoneSubInfo.aidl \
|
||||
telephony/java/com/android/internal/telephony/ITelephony.aidl \
|
||||
|
||||
19
telephony/java/com/android/internal/telephony/CallInfo.aidl
Normal file
19
telephony/java/com/android/internal/telephony/CallInfo.aidl
Normal file
@@ -0,0 +1,19 @@
|
||||
/*
|
||||
** Copyright 2013, 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.telephony;
|
||||
|
||||
parcelable CallInfo;
|
||||
77
telephony/java/com/android/internal/telephony/CallInfo.java
Normal file
77
telephony/java/com/android/internal/telephony/CallInfo.java
Normal file
@@ -0,0 +1,77 @@
|
||||
/*
|
||||
** Copyright 2013, 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.telephony;
|
||||
|
||||
import android.os.Parcel;
|
||||
import android.os.Parcelable;
|
||||
|
||||
/**
|
||||
* A parcelable holder class of Call information data.
|
||||
*/
|
||||
public class CallInfo implements Parcelable {
|
||||
|
||||
/**
|
||||
* Endpoint to which the call is connected.
|
||||
* This could be the dialed value for outgoing calls or the caller id of incoming calls.
|
||||
*/
|
||||
private String handle;
|
||||
|
||||
public CallInfo(String handle) {
|
||||
this.handle = handle;
|
||||
}
|
||||
|
||||
public String getHandle() {
|
||||
return handle;
|
||||
}
|
||||
|
||||
//
|
||||
// Parcelling related code below here.
|
||||
//
|
||||
|
||||
/**
|
||||
* Responsible for creating CallInfo objects for deserialized Parcels.
|
||||
*/
|
||||
public static final Parcelable.Creator<CallInfo> CREATOR
|
||||
= new Parcelable.Creator<CallInfo> () {
|
||||
|
||||
@Override
|
||||
public CallInfo createFromParcel(Parcel source) {
|
||||
return new CallInfo(source.readString());
|
||||
}
|
||||
|
||||
@Override
|
||||
public CallInfo[] newArray(int size) {
|
||||
return new CallInfo[size];
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public int describeContents() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Writes CallInfo object into a serializeable Parcel.
|
||||
*/
|
||||
@Override
|
||||
public void writeToParcel(Parcel destination, int flags) {
|
||||
destination.writeString(handle);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
/*
|
||||
* Copyright (C) 2013 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.telephony;
|
||||
|
||||
import com.android.internal.telephony.ICallServiceAdapter;
|
||||
|
||||
/**
|
||||
* Service interface for services which would like to provide calls to be
|
||||
* managed by the system in-call UI.
|
||||
*
|
||||
* This interface provides methods that the android framework can use to deliver commands
|
||||
* for calls provided by this call service including making new calls and disconnecting
|
||||
* existing ones. A binding to ICallService implementations exists for two conditions:
|
||||
* 1) There exists one or more live calls for that call service,
|
||||
* 2) Prior to an outbound call to test if this call service is compatible with the outgoing call.
|
||||
*/
|
||||
oneway interface ICallService {
|
||||
|
||||
/**
|
||||
* Determines if the CallService can make calls to the handle.
|
||||
* TODO(santoscordon): Move this method into its own service interface long term.
|
||||
* TODO(santoscordon): Add response callback parameter.
|
||||
*/
|
||||
void isCompatibleWith(String handle);
|
||||
|
||||
/**
|
||||
* Attempts to call the relevant party using the specified handle, be it a phone number,
|
||||
* SIP address, or some other kind of user ID. Note that the set of handle types is
|
||||
* dynamically extensible since call providers should be able to implement arbitrary
|
||||
* handle-calling systems. See {@link #isCompatibleWith}.
|
||||
* TODO(santoscordon): Should this have a response attached to it to ensure that the call
|
||||
* service actually plans to make the call?
|
||||
*/
|
||||
void call(String handle);
|
||||
|
||||
/**
|
||||
* Disconnects the call identified by callId.
|
||||
*/
|
||||
void disconnect(String callId);
|
||||
|
||||
/**
|
||||
* Sets an implementation of ICallServiceAdapter which the call service can use to add new calls
|
||||
* and communicate state changes of existing calls. This is the first method that is called
|
||||
* after a the framework binds to the call service.
|
||||
*/
|
||||
void setCallServiceAdapter(ICallServiceAdapter CallServiceAdapter);
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
/*
|
||||
* Copyright (C) 2013 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.telephony;
|
||||
|
||||
import com.android.internal.telephony.CallInfo;
|
||||
|
||||
/**
|
||||
* Provides methods for ICallService implementations to interact with the system phone app.
|
||||
*/
|
||||
oneway interface ICallServiceAdapter {
|
||||
|
||||
/**
|
||||
* Retrieves a new unique call id for use with newOutgoingCall and newIncomingCall.
|
||||
*/
|
||||
void getNextCallId(/* TODO(santoscordon): Needs response object */);
|
||||
|
||||
/**
|
||||
* Tells CallsManager of a new incoming call.
|
||||
*/
|
||||
void newIncomingCall(String callId, in CallInfo info);
|
||||
|
||||
/**
|
||||
* Tells CallsManager of a new outgoing call.
|
||||
*/
|
||||
void newOutgoingCall(String callId, in CallInfo info);
|
||||
|
||||
/**
|
||||
* Sets a call's state to active (e.g., an ongoing call where two parties can actively
|
||||
* communicate).
|
||||
*/
|
||||
void setActive(String callId);
|
||||
|
||||
/**
|
||||
* Sets a call's state to ringing (e.g., an inbound ringing call).
|
||||
*/
|
||||
void setRinging(String callId);
|
||||
|
||||
/**
|
||||
* Sets a call's state to dialing (e.g., dialing an outbound call).
|
||||
*/
|
||||
void setDialing(String callId);
|
||||
|
||||
/**
|
||||
* Sets a call's state to disconnected.
|
||||
*/
|
||||
void setDisconnected(String callId);
|
||||
}
|
||||
Reference in New Issue
Block a user