Java Code Examples for android.bluetooth.BluetoothGattServer#sendResponse()
The following examples show how to use
android.bluetooth.BluetoothGattServer#sendResponse() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: BleManagerHandler.java From Android-BLE-Library with BSD 3-Clause "New" or "Revised" License | 5 votes |
private void sendResponse(@NonNull final BluetoothGattServer server, @NonNull final BluetoothDevice device, final int status, final int requestId, final int offset, @Nullable final byte[] response) { String msg; switch (status) { case BluetoothGatt.GATT_SUCCESS: msg = "GATT_SUCCESS"; break; case BluetoothGatt.GATT_REQUEST_NOT_SUPPORTED: msg = "GATT_REQUEST_NOT_SUPPORTED"; break; case BluetoothGatt.GATT_INVALID_OFFSET: msg = "GATT_INVALID_OFFSET"; break; default: throw new InvalidParameterException(); } log(Log.DEBUG, "server.sendResponse(" + msg + ", offset=" + offset + ", value=" + ParserUtils.parseDebug(response) + ")"); server.sendResponse(device, requestId, status, offset, response); log(Log.VERBOSE, "[Server] Response sent"); }
Example 2
Source File: EddystoneGattService.java From beacons-android with Apache License 2.0 | 4 votes |
public void readCharacteristic(BluetoothGattServer gattServer, BluetoothDevice device, int requestId, int offset, BluetoothGattCharacteristic characteristic) { // UUID uuid = characteristic.getUuid(); int status = BluetoothGatt.GATT_SUCCESS; if (isLocked()) { if (characteristic == mUnlockCharacteristic) { log("Generating secure unlock challenge"); characteristic.setValue(new byte[16]); new SecureRandom().nextBytes(characteristic.getValue()); } else { if (characteristic != mLockStateCharacteristic) { status = BluetoothGatt.GATT_READ_NOT_PERMITTED; } } } else if (characteristic == mUnlockCharacteristic) { status = BluetoothGatt.GATT_READ_NOT_PERMITTED; } else if (characteristic == mPublicEcdhKeyCharacteristic) { log("ECDH Public Key was requested"); if (0 == offset) { characteristic.setValue(null == mEidKeyPair ? new byte[0] : mEidKeyPair.getPublicKey()); } } else if (characteristic == mAdvSlotDataCharacteristic) { log("Advertisement slot data requested"); characteristic.setValue(mConfigCallback.getAdvertisedData()); } else if (characteristic == mEidIdentityKeyCharacteristic) { log("Identity Key was requested"); byte[] identityKey = mConfigCallback.getEidIdentityKey(); if (null == identityKey) { status = BluetoothGatt.GATT_FAILURE; } else { characteristic.setValue(aes_transform(true, identityKey, 0, 16)); } } gattServer.sendResponse(device, requestId, status, offset, status == BluetoothGatt.GATT_SUCCESS ? Arrays.copyOfRange(characteristic.getValue(), offset, characteristic.getValue().length) : null); }