blob: fc7627ae5c83c9b51b0b6c20dc5fe7889f4ea68a [file] [log] [blame]
The Android Open Source Project9066cfe2009-03-03 19:31:44 -08001/*
2 * Copyright (C) 2008 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
17package android.bluetooth;
18
Nick Pellybd022f42009-08-14 18:33:38 -070019import android.bluetooth.BluetoothDevice;
20
The Android Open Source Project9066cfe2009-03-03 19:31:44 -080021/**
Jaikumar Ganesh96a79832010-09-27 17:02:01 -070022 * API for Bluetooth Headset service
The Android Open Source Project9066cfe2009-03-03 19:31:44 -080023 *
24 * {@hide}
25 */
26interface IBluetoothHeadset {
Jaikumar Ganesh96a79832010-09-27 17:02:01 -070027 // Public API
28 boolean connect(in BluetoothDevice device);
29 boolean disconnect(in BluetoothDevice device);
Jaikumar Ganesh03cd78c2010-10-18 16:41:53 -070030 List<BluetoothDevice> getConnectedDevices();
31 List<BluetoothDevice> getDevicesMatchingConnectionStates(in int[] states);
Jaikumar Ganesh96a79832010-09-27 17:02:01 -070032 int getConnectionState(in BluetoothDevice device);
Nick Pellybd022f42009-08-14 18:33:38 -070033 boolean setPriority(in BluetoothDevice device, int priority);
34 int getPriority(in BluetoothDevice device);
Jaikumar Ganesh96a79832010-09-27 17:02:01 -070035 boolean startVoiceRecognition(in BluetoothDevice device);
36 boolean stopVoiceRecognition(in BluetoothDevice device);
37 boolean isAudioConnected(in BluetoothDevice device);
Jaikumar Ganesh9b637e52010-06-02 14:36:14 -070038
Jaikumar Ganesh96a79832010-09-27 17:02:01 -070039 // APIs that can be made public in future
40 int getBatteryUsageHint(in BluetoothDevice device);
41
42 // Internal functions, not be made public
Jaikumar Ganesh9b637e52010-06-02 14:36:14 -070043 boolean acceptIncomingConnect(in BluetoothDevice device);
Matthew Xiea0c68032011-06-25 21:47:07 -070044 boolean rejectIncomingConnect(in BluetoothDevice device);
Jaikumar Ganesh30d18162010-11-01 11:59:57 -070045 int getAudioState(in BluetoothDevice device);
Jaikumar Ganeshf2e6b132010-10-26 17:10:09 -070046
Matthew Xie3e8c82e2012-02-16 16:57:18 -080047 boolean isAudioOn();
48 boolean connectAudio();
49 boolean disconnectAudio();
Jaikumar Ganeshdde68c62011-01-24 13:55:27 -080050 boolean startScoUsingVirtualVoiceCall(in BluetoothDevice device);
51 boolean stopScoUsingVirtualVoiceCall(in BluetoothDevice device);
Matthew Xie3e8c82e2012-02-16 16:57:18 -080052 void phoneStateChanged(int numActive, int numHeld, int callState, String number, int type);
53 void roamChanged(boolean roam);
54 void clccResponse(int index, int direction, int status, int mode, boolean mpty,
55 String number, int type);
The Android Open Source Project9066cfe2009-03-03 19:31:44 -080056}