1 /* 2 * Copyright 2014 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package android.bluetooth; 18 19 import android.bluetooth.BluetoothDevice; 20 import android.bluetooth.BluetoothSinkAudioPolicy; 21 import android.bluetooth.BluetoothHeadsetClientCall; 22 import android.content.AttributionSource; 23 24 import com.android.modules.utils.SynchronousResultReceiver; 25 26 /** 27 * API for Bluetooth Headset Client service (HFP HF Role) 28 * 29 * {@hide} 30 */ 31 oneway interface IBluetoothHeadsetClient { 32 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT)") connect(in BluetoothDevice device, in AttributionSource attributionSource, in SynchronousResultReceiver receiver)33 void connect(in BluetoothDevice device, in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 34 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT)") disconnect(in BluetoothDevice device, in AttributionSource attributionSource, in SynchronousResultReceiver receiver)35 void disconnect(in BluetoothDevice device, in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 36 37 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT)") getConnectedDevices(in AttributionSource attributionSource, in SynchronousResultReceiver receiver)38 void getConnectedDevices(in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 39 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT)") getDevicesMatchingConnectionStates(in int[] states, in AttributionSource attributionSource, in SynchronousResultReceiver receiver)40 void getDevicesMatchingConnectionStates(in int[] states, in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 41 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT)") getConnectionState(in BluetoothDevice device, in AttributionSource attributionSource, in SynchronousResultReceiver receiver)42 void getConnectionState(in BluetoothDevice device, in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 43 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT)") setConnectionPolicy(in BluetoothDevice device, int connectionPolicy, in AttributionSource attributionSource, in SynchronousResultReceiver receiver)44 void setConnectionPolicy(in BluetoothDevice device, int connectionPolicy, in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 45 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT)") getConnectionPolicy(in BluetoothDevice device, in AttributionSource attributionSource, in SynchronousResultReceiver receiver)46 void getConnectionPolicy(in BluetoothDevice device, in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 47 48 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT)") startVoiceRecognition(in BluetoothDevice device, in AttributionSource attributionSource, in SynchronousResultReceiver receiver)49 void startVoiceRecognition(in BluetoothDevice device, in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 50 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT)") stopVoiceRecognition(in BluetoothDevice device, in AttributionSource attributionSource, in SynchronousResultReceiver receiver)51 void stopVoiceRecognition(in BluetoothDevice device, in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 52 53 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT)") getCurrentCalls(in BluetoothDevice device, in AttributionSource attributionSource, in SynchronousResultReceiver receiver)54 void getCurrentCalls(in BluetoothDevice device, in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 55 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT)") getCurrentAgEvents(in BluetoothDevice device, in AttributionSource attributionSource, in SynchronousResultReceiver receiver)56 void getCurrentAgEvents(in BluetoothDevice device, in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 57 58 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT)") acceptCall(in BluetoothDevice device, int flag, in AttributionSource attributionSource, in SynchronousResultReceiver receiver)59 void acceptCall(in BluetoothDevice device, int flag, in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 60 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT)") holdCall(in BluetoothDevice device, in AttributionSource attributionSource, in SynchronousResultReceiver receiver)61 void holdCall(in BluetoothDevice device, in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 62 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT)") rejectCall(in BluetoothDevice device, in AttributionSource attributionSource, in SynchronousResultReceiver receiver)63 void rejectCall(in BluetoothDevice device, in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 64 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT)") terminateCall(in BluetoothDevice device, in BluetoothHeadsetClientCall call, in AttributionSource attributionSource, in SynchronousResultReceiver receiver)65 void terminateCall(in BluetoothDevice device, in BluetoothHeadsetClientCall call, in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 66 67 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT)") enterPrivateMode(in BluetoothDevice device, int index, in AttributionSource attributionSource, in SynchronousResultReceiver receiver)68 void enterPrivateMode(in BluetoothDevice device, int index, in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 69 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT)") explicitCallTransfer(in BluetoothDevice device, in AttributionSource attributionSource, in SynchronousResultReceiver receiver)70 void explicitCallTransfer(in BluetoothDevice device, in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 71 72 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT)") dial(in BluetoothDevice device, String number, in AttributionSource attributionSource, in SynchronousResultReceiver receiver)73 void dial(in BluetoothDevice device, String number, in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 74 75 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT)") sendDTMF(in BluetoothDevice device, byte code, in AttributionSource attributionSource, in SynchronousResultReceiver receiver)76 void sendDTMF(in BluetoothDevice device, byte code, in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 77 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT)") getLastVoiceTagNumber(in BluetoothDevice device, in AttributionSource attributionSource, in SynchronousResultReceiver receiver)78 void getLastVoiceTagNumber(in BluetoothDevice device, in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 79 80 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT)") getAudioState(in BluetoothDevice device, in AttributionSource attributionSource, in SynchronousResultReceiver receiver)81 void getAudioState(in BluetoothDevice device, in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 82 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT)") connectAudio(in BluetoothDevice device, in AttributionSource attributionSource, in SynchronousResultReceiver receiver)83 void connectAudio(in BluetoothDevice device, in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 84 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT)") disconnectAudio(in BluetoothDevice device, in AttributionSource attributionSource, in SynchronousResultReceiver receiver)85 void disconnectAudio(in BluetoothDevice device, in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 86 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT)") setAudioRouteAllowed(in BluetoothDevice device, boolean allowed, in AttributionSource attributionSource, in SynchronousResultReceiver receiver)87 void setAudioRouteAllowed(in BluetoothDevice device, boolean allowed, in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 88 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT)") getAudioRouteAllowed(in BluetoothDevice device, in AttributionSource attributionSource, in SynchronousResultReceiver receiver)89 void getAudioRouteAllowed(in BluetoothDevice device, in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 90 91 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT)") sendVendorAtCommand(in BluetoothDevice device, int vendorId, String atCommand, in AttributionSource attributionSource, in SynchronousResultReceiver receiver)92 void sendVendorAtCommand(in BluetoothDevice device, int vendorId, String atCommand, in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 93 94 @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT)") getCurrentAgFeatures(in BluetoothDevice device, in AttributionSource attributionSource, in SynchronousResultReceiver receiver)95 void getCurrentAgFeatures(in BluetoothDevice device, in AttributionSource attributionSource, in SynchronousResultReceiver receiver); 96 } 97