/*
OldBleDeviceAdapterImpl
Copyright (c) 2015 NTT DOCOMO,INC.
Released under the MIT license
http://opensource.org/licenses/mit-license.php
*/
package org.deviceconnect.android.deviceplugin.hvc.ble.adapter;
import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothDevice;
import android.bluetooth.BluetoothManager;
import android.content.Context;
import org.deviceconnect.android.deviceplugin.hvc.ble.BleDeviceAdapter;
import org.deviceconnect.android.deviceplugin.hvc.ble.BleUtils;
import java.util.Set;
/**
*
* @author NTT DOCOMO, INC.
*/
public class OldBleDeviceAdapterImpl extends BleDeviceAdapter {
/**
* Bluetooth adapter.
*/
private BluetoothAdapter mBluetoothAdapter;
/**
* BLE device scan callback.
*/
private BleDeviceScanCallback mCallback;
/**
* Constructor.
* @param context context
*/
public OldBleDeviceAdapterImpl(final Context context) {
BluetoothManager manager = BleUtils.getManager(context);
mBluetoothAdapter = manager.getAdapter();
}
@Override
public void startScan(final BleDeviceScanCallback callback) {
mCallback = callback;
mBluetoothAdapter.startLeScan(mLeScanCallback);
}
@Override
public void stopScan(final BleDeviceScanCallback callback) {
mBluetoothAdapter.stopLeScan(mLeScanCallback);
}
@Override
public BluetoothDevice getDevice(final String address) {
return mBluetoothAdapter.getRemoteDevice(address);
}
@Override
public Set<BluetoothDevice> getBondedDevices() {
return mBluetoothAdapter.getBondedDevices();
}
@Override
public boolean isEnabled() {
return mBluetoothAdapter.isEnabled();
}
@Override
public boolean checkBluetoothAddress(final String address) {
return BluetoothAdapter.checkBluetoothAddress(address);
}
/**
* BLE scan callback.
*/
private final BluetoothAdapter.LeScanCallback mLeScanCallback = new BluetoothAdapter.LeScanCallback() {
@Override
public void onLeScan(final BluetoothDevice device, final int rssi, final byte[] scanRecord) {
if (mCallback != null) {
mCallback.onLeScan(device, rssi);
}
}
};
}