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;
}
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;
}
Aggregations