Files
Bluetooth-LE-Library-Android/library/src/uk/co/alt236/bluetoothlelib/device/IBeaconDevice.java
T
2014-03-16 23:13:23 +00:00

63 lines
1.7 KiB
Java

package uk.co.alt236.bluetoothlelib.device;
import uk.co.alt236.bluetoothlelib.device.mfdata.IBeaconManufacturerData;
import uk.co.alt236.bluetoothlelib.util.IBeaconUtils;
import uk.co.alt236.bluetoothlelib.util.IBeaconUtils.IBeaconDistanceDescriptor;
import android.bluetooth.BluetoothDevice;
import android.os.Parcel;
public class IBeaconDevice extends BluetoothLeDevice{
private final IBeaconManufacturerData mIBeaconData;
public IBeaconDevice(BluetoothDevice device, int rssi, byte[] scanRecord) {
super(device, rssi, scanRecord, 0);
mIBeaconData = new IBeaconManufacturerData(this);
}
public IBeaconDevice(BluetoothDevice device, int rssi, byte[] scanRecord, long timestamp){
super(device, rssi, scanRecord, timestamp);
mIBeaconData = new IBeaconManufacturerData(this);
}
public IBeaconDevice(BluetoothLeDevice device){
this(device.getDevice(), device.getRssi(), device.getScanRecord(), device.getTimestamp());
}
private IBeaconDevice(Parcel in) {
super(in);
mIBeaconData = new IBeaconManufacturerData(this);
}
public double getAccuracy(){
return IBeaconUtils.calculateAccuracy(getCalibratedTxPower(), getRssi());
}
public int getCalibratedTxPower(){
return getIBeaconData().getCalibratedTxPower();
}
public int getCompanyIdentifier(){
return getIBeaconData().getCompanyIdentifier();
}
public IBeaconDistanceDescriptor getDistanceDescriptor(){
return IBeaconUtils.getDistanceDescriptor(getAccuracy());
}
public IBeaconManufacturerData getIBeaconData(){
return mIBeaconData;
}
public int getMajor(){
return getIBeaconData().getMajor();
}
public int getMinor(){
return getIBeaconData().getMinor();
}
public String getUUID(){
return getIBeaconData().getUUID();
}
}