10f42037eb7b5118015c2caca635538324ccf0ccffredc/*
2fa0fd39a4bf296d254aa398c1b19ec960efa641dZhihai Xu * Copyright (C) 2012 The Android Open Source Project
3fa0fd39a4bf296d254aa398c1b19ec960efa641dZhihai Xu *
4fa0fd39a4bf296d254aa398c1b19ec960efa641dZhihai Xu * Licensed under the Apache License, Version 2.0 (the "License");
5fa0fd39a4bf296d254aa398c1b19ec960efa641dZhihai Xu * you may not use this file except in compliance with the License.
6fa0fd39a4bf296d254aa398c1b19ec960efa641dZhihai Xu * You may obtain a copy of the License at
7fa0fd39a4bf296d254aa398c1b19ec960efa641dZhihai Xu *
8fa0fd39a4bf296d254aa398c1b19ec960efa641dZhihai Xu *      http://www.apache.org/licenses/LICENSE-2.0
9fa0fd39a4bf296d254aa398c1b19ec960efa641dZhihai Xu *
10fa0fd39a4bf296d254aa398c1b19ec960efa641dZhihai Xu * Unless required by applicable law or agreed to in writing, software
11fa0fd39a4bf296d254aa398c1b19ec960efa641dZhihai Xu * distributed under the License is distributed on an "AS IS" BASIS,
12fa0fd39a4bf296d254aa398c1b19ec960efa641dZhihai Xu * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13fa0fd39a4bf296d254aa398c1b19ec960efa641dZhihai Xu * See the License for the specific language governing permissions and
14fa0fd39a4bf296d254aa398c1b19ec960efa641dZhihai Xu * limitations under the License.
150f42037eb7b5118015c2caca635538324ccf0ccffredc */
160f42037eb7b5118015c2caca635538324ccf0ccffredc
170f42037eb7b5118015c2caca635538324ccf0ccffredcpackage android.bluetooth;
180f42037eb7b5118015c2caca635538324ccf0ccffredc
190f42037eb7b5118015c2caca635538324ccf0ccffredcimport android.bluetooth.IBluetooth;
20ddf7e4756c31d0ed90802f98abeaa79df6d16b2aMatthew Xieimport android.bluetooth.IBluetoothGatt;
210f42037eb7b5118015c2caca635538324ccf0ccffredcimport android.bluetooth.IBluetoothManagerCallback;
22e8b98925d08f720c4d22b626d0650de536840a9aBenjamin Franzimport android.bluetooth.IBluetoothProfileServiceConnection;
230f42037eb7b5118015c2caca635538324ccf0ccffredcimport android.bluetooth.IBluetoothStateChangeCallback;
240f42037eb7b5118015c2caca635538324ccf0ccffredc
250f42037eb7b5118015c2caca635538324ccf0ccffredc/**
260f42037eb7b5118015c2caca635538324ccf0ccffredc * System private API for talking with the Bluetooth service.
270f42037eb7b5118015c2caca635538324ccf0ccffredc *
280f42037eb7b5118015c2caca635538324ccf0ccffredc * {@hide}
290f42037eb7b5118015c2caca635538324ccf0ccffredc */
300f42037eb7b5118015c2caca635538324ccf0ccffredcinterface IBluetoothManager
310f42037eb7b5118015c2caca635538324ccf0ccffredc{
320f42037eb7b5118015c2caca635538324ccf0ccffredc    IBluetooth registerAdapter(in IBluetoothManagerCallback callback);
330f42037eb7b5118015c2caca635538324ccf0ccffredc    void unregisterAdapter(in IBluetoothManagerCallback callback);
340f42037eb7b5118015c2caca635538324ccf0ccffredc    void registerStateChangeCallback(in IBluetoothStateChangeCallback callback);
350f42037eb7b5118015c2caca635538324ccf0ccffredc    void unregisterStateChangeCallback(in IBluetoothStateChangeCallback callback);
360f42037eb7b5118015c2caca635538324ccf0ccffredc    boolean isEnabled();
37ac69be543f89ea6e9a27204492e0a170d9b3450eSvetoslav Ganov    boolean enable(String packageName);
385980456040217f330289e3fa59df4efaafb1c6c5Marie Janssen    boolean enableNoAutoConnect(String packageName);
395980456040217f330289e3fa59df4efaafb1c6c5Marie Janssen    boolean disable(String packageName, boolean persist);
40995c90aa1856e8ef7b3397b775720941d3dcb133Christine Hallstrom    int getState();
41ddf7e4756c31d0ed90802f98abeaa79df6d16b2aMatthew Xie    IBluetoothGatt getBluetoothGatt();
420f42037eb7b5118015c2caca635538324ccf0ccffredc
43e8b98925d08f720c4d22b626d0650de536840a9aBenjamin Franz    boolean bindBluetoothProfileService(int profile, IBluetoothProfileServiceConnection proxy);
44e8b98925d08f720c4d22b626d0650de536840a9aBenjamin Franz    void unbindBluetoothProfileService(int profile, IBluetoothProfileServiceConnection proxy);
45e8b98925d08f720c4d22b626d0650de536840a9aBenjamin Franz
460f42037eb7b5118015c2caca635538324ccf0ccffredc    String getAddress();
470f42037eb7b5118015c2caca635538324ccf0ccffredc    String getName();
4867d8416b8eb092dbf960c92cd6a2b2564d212d79Wei Wang
4967d8416b8eb092dbf960c92cd6a2b2564d212d79Wei Wang    boolean isBleScanAlwaysAvailable();
505980456040217f330289e3fa59df4efaafb1c6c5Marie Janssen    int updateBleAppCount(IBinder b, boolean enable, String packageName);
51d055adbe2c1c65d9346e65209fa8790190bc239eNitin Arora    boolean isBleAppPresent();
520f42037eb7b5118015c2caca635538324ccf0ccffredc}
53ac69be543f89ea6e9a27204492e0a170d9b3450eSvetoslav Ganov
54