From c8c9eacc2951a67895a1049cf3f3231b3977f89e Mon Sep 17 00:00:00 2001 From: Chip Weinberger Date: Thu, 30 Nov 2023 12:28:47 -0600 Subject: [PATCH] [Fix] android: remoteId was wrong (regression in 1.29.10) --- .../lib/flutter_blue_plus/FlutterBluePlusPlugin.java | 12 ++++++------ ios/Classes/FlutterBluePlusPlugin.m | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/android/src/main/java/com/lib/flutter_blue_plus/FlutterBluePlusPlugin.java b/android/src/main/java/com/lib/flutter_blue_plus/FlutterBluePlusPlugin.java index 2dd81b75..28a18b5a 100644 --- a/android/src/main/java/com/lib/flutter_blue_plus/FlutterBluePlusPlugin.java +++ b/android/src/main/java/com/lib/flutter_blue_plus/FlutterBluePlusPlugin.java @@ -97,7 +97,7 @@ public class FlutterBluePlusPlugin implements private FlutterPluginBinding pluginBinding; private ActivityPluginBinding activityBinding; - static final private String CCCD = "00002902-0000-1000-8000-00805f9b34fb"; + static final private String CCCD = "2902"; private final Map mConnectedDevices = new ConcurrentHashMap<>(); private final Map mCurrentlyConnectingDevices = new ConcurrentHashMap<>(); @@ -894,7 +894,7 @@ public void onMethodCall(@NonNull MethodCall call, } // remember the data we are writing - String key = uuidStr(remoteId) + ":" + uuidStr(serviceUuid) + ":" + uuidStr(characteristicUuid); + String key = remoteId + ":" + serviceUuid + ":" + characteristicUuid; mWriteChr.put(key, value); // write characteristic @@ -1024,7 +1024,7 @@ public void onMethodCall(@NonNull MethodCall call, } // remember the data we are writing - String key = remoteId + ":" + uuidStr(serviceUuid) + ":" + uuidStr(characteristicUuid) + ":" + uuidStr(descriptorUuid); + String key = remoteId + ":" + serviceUuid + ":" + characteristicUuid + ":" + descriptorUuid; mWriteDesc.put(key, value); // write descriptor @@ -1136,7 +1136,7 @@ public void onMethodCall(@NonNull MethodCall call, } // remember the data we are writing - String key = remoteId + ":" + uuidStr(serviceUuid) + ":" + uuidStr(characteristicUuid) + ":" + uuidStr(CCCD); + String key = remoteId + ":" + serviceUuid + ":" + characteristicUuid + ":" + CCCD; mWriteDesc.put(key, bytesToHex(descriptorValue)); // write descriptor @@ -2088,7 +2088,7 @@ public void onCharacteristicWrite(BluetoothGatt gatt, BluetoothGattCharacteristi String characteristicUuid = uuidStr(characteristic.getUuid()); // what data did we write? - String key = uuidStr(remoteId) + ":" + uuidStr(serviceUuid) + ":" + uuidStr(characteristicUuid); + String key = remoteId + ":" + serviceUuid + ":" + characteristicUuid; String value = mWriteChr.get(key) != null ? mWriteChr.get(key) : ""; mWriteChr.remove(key); @@ -2148,7 +2148,7 @@ public void onDescriptorWrite(BluetoothGatt gatt, BluetoothGattDescriptor descri String descriptorUuid = uuidStr(descriptor.getUuid()); // what data did we write? - String key = remoteId + ":" + uuidStr(serviceUuid) + ":" + uuidStr(characteristicUuid) + ":" + uuidStr(descriptorUuid); + String key = remoteId + ":" + serviceUuid + ":" + characteristicUuid + ":" + descriptorUuid; String value = mWriteDesc.get(key) != null ? mWriteDesc.get(key) : ""; mWriteDesc.remove(key); diff --git a/ios/Classes/FlutterBluePlusPlugin.m b/ios/Classes/FlutterBluePlusPlugin.m index fff6d02a..d0f815ec 100644 --- a/ios/Classes/FlutterBluePlusPlugin.m +++ b/ios/Classes/FlutterBluePlusPlugin.m @@ -6,7 +6,7 @@ #define Log(LEVEL, FORMAT, ...) [self log:LEVEL format:@"[FBP-iOS] " FORMAT, ##__VA_ARGS__] -NSString * const CCCD = @"00002902-0000-1000-8000-00805f9b34fb"; +NSString * const CCCD = @"2902"; @interface ServicePair : NSObject @property (strong, nonatomic) CBService *primary;