Search in sources :

Example 1 with Sensor

use of com.chimeraiot.android.ble.sensor.Sensor in project BleSensorTag by StevenRudenko.

the class DeviceServicesActivity method onChildClick.

@Override
public boolean onChildClick(ExpandableListView parent, View v, int groupPosition, int childPosition, long id) {
    if (gattServiceAdapter == null) {
        return false;
    }
    final BluetoothGattCharacteristic characteristic = gattServiceAdapter.getChild(groupPosition, childPosition);
    final DeviceDef def = getBleManager().getDeviceDefCollection().get(getDeviceName(), getDeviceAddress());
    if (def == null) {
        return false;
    }
    final Sensor<?> sensor = (Sensor<?>) def.getSensor(characteristic.getService().getUuid().toString());
    if (sensor == null) {
        return true;
    }
    if (sensor == activeSensor) {
        return true;
    }
    final String address = getDeviceAddress();
    if (sensor instanceof BaseSensor) {
        final BaseSensor<?> baseSensor = (BaseSensor<?>) sensor;
        if (activeSensor != null) {
            activeSensor.setEnabled(false);
            getBleManager().update(address, activeSensor, activeSensor.getConfigUUID(), null);
        }
        activeSensor = baseSensor;
        baseSensor.setEnabled(true);
        getBleManager().update(address, sensor, baseSensor.getConfigUUID(), null);
        getBleManager().listen(address, sensor, baseSensor.getDataUUID());
    } else {
        getBleManager().read(address, sensor, characteristic.getUuid().toString());
    }
    return true;
}
Also used : BaseSensor(sample.ble.sensortag.sensor.BaseSensor) BluetoothGattCharacteristic(android.bluetooth.BluetoothGattCharacteristic) DeviceDef(com.chimeraiot.android.ble.sensor.DeviceDef) TiPeriodicalSensor(sample.ble.sensortag.sensor.ti.TiPeriodicalSensor) Sensor(com.chimeraiot.android.ble.sensor.Sensor) BaseSensor(sample.ble.sensortag.sensor.BaseSensor)

Example 2 with Sensor

use of com.chimeraiot.android.ble.sensor.Sensor in project BleSensorTag by StevenRudenko.

the class BleServicesAdapter method getGroupView.

@Override
public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) {
    final GroupViewHolder holder;
    if (convertView == null) {
        holder = new GroupViewHolder();
        convertView = inflater.inflate(R.layout.li_service, parent, false);
        holder.name = (TextView) convertView.findViewById(R.id.name);
        holder.uuid = (TextView) convertView.findViewById(R.id.uuid);
        convertView.setTag(holder);
    } else {
        holder = (GroupViewHolder) convertView.getTag();
    }
    final BluetoothGattService item = getGroup(groupPosition);
    final String serviceName;
    final String uuid;
    if (item == null) {
        serviceName = "Unknown";
        uuid = null;
    } else if (def == null) {
        serviceName = "Unknown";
        uuid = item.getUuid().toString();
    } else {
        uuid = item.getUuid().toString();
        final Sensor sensor = def.getSensor(uuid);
        if (sensor != null) {
            serviceName = sensor.getName();
        } else {
            serviceName = "Unknown";
        }
    }
    holder.name.setText(serviceName);
    holder.uuid.setText(uuid);
    return convertView;
}
Also used : BluetoothGattService(android.bluetooth.BluetoothGattService) TiPeriodicalSensor(sample.ble.sensortag.sensor.ti.TiPeriodicalSensor) Sensor(com.chimeraiot.android.ble.sensor.Sensor) BaseSensor(sample.ble.sensortag.sensor.BaseSensor)

Aggregations

Sensor (com.chimeraiot.android.ble.sensor.Sensor)2 BaseSensor (sample.ble.sensortag.sensor.BaseSensor)2 TiPeriodicalSensor (sample.ble.sensortag.sensor.ti.TiPeriodicalSensor)2 BluetoothGattCharacteristic (android.bluetooth.BluetoothGattCharacteristic)1 BluetoothGattService (android.bluetooth.BluetoothGattService)1 DeviceDef (com.chimeraiot.android.ble.sensor.DeviceDef)1