This CL includes changes required to support multi-endpoint (see the design doc linked off the bug). Main changes include: - support for indicating if a call/connection is "external" to the device. - support for indicating if an external call can be pulled from the remote device to the local device. - API used to initiate a pull of a call external to the current device to the current device. - Made the "connection event" API public (was previously @hide); this will be used to support passing some error events involving pulling calls to the incall ui. - Added new InCallService metadata which will be used to determine if an InCallService wants to be informed of external calls. - New disconnect causes which will be used to expose the fact that a multi-endpoint call was answered elsewhere and that a call ended because it was pulled to another device. - New call log call types to indicate if calls were answered elsewhere or pulled to another device. Bug: 27458894 Change-Id: I423f64ff965b5e50194635a51868c327782db2a1
54 lines
1.5 KiB
Plaintext
54 lines
1.5 KiB
Plaintext
/*
|
|
* 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.os.Bundle;
|
|
import android.telecom.CallAudioState;
|
|
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 onCallAudioStateChanged(in CallAudioState callAudioState);
|
|
|
|
void bringToForeground(boolean showDialpad);
|
|
|
|
void onCanAddCallChanged(boolean canAddCall);
|
|
|
|
void silenceRinger();
|
|
|
|
void onConnectionEvent(String callId, String event, in Bundle extras);
|
|
}
|