From d3dae1fd6d4f29c87900efc7c4f8f146e944b33c Mon Sep 17 00:00:00 2001 From: "Agua.L" <438517073@qq.com> Date: Tue, 21 Mar 2023 14:24:26 +0800 Subject: [PATCH 1/5] Keep consistent with the experience on the Android side. Will not popup a dialog while the bluetooth is not power on. --- .../reactive_ble_mobile/ios/Classes/ReactiveBle/Central.swift | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/reactive_ble_mobile/ios/Classes/ReactiveBle/Central.swift b/packages/reactive_ble_mobile/ios/Classes/ReactiveBle/Central.swift index 95f2f9dc..ce2ae1e0 100644 --- a/packages/reactive_ble_mobile/ios/Classes/ReactiveBle/Central.swift +++ b/packages/reactive_ble_mobile/ios/Classes/ReactiveBle/Central.swift @@ -99,7 +99,8 @@ final class Central { ) self.centralManager = CBCentralManager( delegate: centralManagerDelegate, - queue: nil + queue: nil, + options: [CBCentralManagerOptionShowPowerAlertKey:false] ) } From 2e07bcc41f99d94cb67ab8a9ab606ada791cc4e7 Mon Sep 17 00:00:00 2001 From: "Agua.L" <438517073@qq.com> Date: Tue, 21 Mar 2023 14:31:00 +0800 Subject: [PATCH 2/5] Keep consistent with the experience on the iOS side. Add support for multiple manufacturerData on Android. --- .../converters/ManufacturerDataConverter.kt | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/packages/reactive_ble_mobile/android/src/main/kotlin/com/signify/hue/flutterreactiveble/converters/ManufacturerDataConverter.kt b/packages/reactive_ble_mobile/android/src/main/kotlin/com/signify/hue/flutterreactiveble/converters/ManufacturerDataConverter.kt index 8257d996..45b2eeac 100644 --- a/packages/reactive_ble_mobile/android/src/main/kotlin/com/signify/hue/flutterreactiveble/converters/ManufacturerDataConverter.kt +++ b/packages/reactive_ble_mobile/android/src/main/kotlin/com/signify/hue/flutterreactiveble/converters/ManufacturerDataConverter.kt @@ -6,12 +6,17 @@ fun extractManufacturerData(manufacturerData: SparseArray?): ByteArra val rawData = mutableListOf() if (manufacturerData != null && manufacturerData.size() > 0) { - val companyId = manufacturerData.keyAt(0) - val payload = manufacturerData.get(companyId) - - rawData.add((companyId.toByte())) - rawData.add(((companyId.shr(Byte.SIZE_BITS)).toByte())) - rawData.addAll(2, payload.asList()) + var index = 0; + for(i in 0 until manufacturerData.size()){ + val companyId = manufacturerData.keyAt(i) + val payload = manufacturerData.get(companyId) + rawData.add((companyId.toByte())) + rawData.add(((companyId.shr(Byte.SIZE_BITS)).toByte())) + index += 2; + var list = payload.asList(); + rawData.addAll(index, list) + index += list.size; + } } return rawData.toByteArray() From cf3706522d35f0178332fa2e15248904be5c9358 Mon Sep 17 00:00:00 2001 From: "Agua.L" <438517073@qq.com> Date: Tue, 21 Mar 2023 16:07:40 +0800 Subject: [PATCH 3/5] Rename the variable --- .../converters/ManufacturerDataConverter.kt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/reactive_ble_mobile/android/src/main/kotlin/com/signify/hue/flutterreactiveble/converters/ManufacturerDataConverter.kt b/packages/reactive_ble_mobile/android/src/main/kotlin/com/signify/hue/flutterreactiveble/converters/ManufacturerDataConverter.kt index 45b2eeac..99575383 100644 --- a/packages/reactive_ble_mobile/android/src/main/kotlin/com/signify/hue/flutterreactiveble/converters/ManufacturerDataConverter.kt +++ b/packages/reactive_ble_mobile/android/src/main/kotlin/com/signify/hue/flutterreactiveble/converters/ManufacturerDataConverter.kt @@ -6,16 +6,16 @@ fun extractManufacturerData(manufacturerData: SparseArray?): ByteArra val rawData = mutableListOf() if (manufacturerData != null && manufacturerData.size() > 0) { - var index = 0; + var pos = 0; for(i in 0 until manufacturerData.size()){ val companyId = manufacturerData.keyAt(i) val payload = manufacturerData.get(companyId) rawData.add((companyId.toByte())) rawData.add(((companyId.shr(Byte.SIZE_BITS)).toByte())) - index += 2; + pos += 2; var list = payload.asList(); - rawData.addAll(index, list) - index += list.size; + rawData.addAll(pos, list) + pos += list.size; } } From d2b0d1cd9625c0f2913b2c5d324554f00770cead Mon Sep 17 00:00:00 2001 From: "Agua.L" <438517073@qq.com> Date: Tue, 21 Mar 2023 16:50:57 +0800 Subject: [PATCH 4/5] Change melos to 2.9.0 --- bin/quality_checks.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/quality_checks.sh b/bin/quality_checks.sh index 25a89370..4742ac24 100755 --- a/bin/quality_checks.sh +++ b/bin/quality_checks.sh @@ -4,7 +4,7 @@ echo 'export PATH="$PATH":"$FLUTTER_ROOT/.pub-cache/bin"' >>~/.bashrc echo 'export PATH="$PATH":"$FLUTTER_ROOT/bin"' >>~/.bashrc source ~/.bashrc -dart pub global activate melos +dart pub global activate melos 2.9.0 melos bootstrap melos run analyze From 5f4aa37f2b7de70f8efcd0722c2a3d10fdd3daeb Mon Sep 17 00:00:00 2001 From: "Agua.L" <438517073@qq.com> Date: Tue, 21 Mar 2023 17:49:12 +0800 Subject: [PATCH 5/5] Change code format --- .../converters/ManufacturerDataConverter.kt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/reactive_ble_mobile/android/src/main/kotlin/com/signify/hue/flutterreactiveble/converters/ManufacturerDataConverter.kt b/packages/reactive_ble_mobile/android/src/main/kotlin/com/signify/hue/flutterreactiveble/converters/ManufacturerDataConverter.kt index 99575383..d6e5abaa 100644 --- a/packages/reactive_ble_mobile/android/src/main/kotlin/com/signify/hue/flutterreactiveble/converters/ManufacturerDataConverter.kt +++ b/packages/reactive_ble_mobile/android/src/main/kotlin/com/signify/hue/flutterreactiveble/converters/ManufacturerDataConverter.kt @@ -6,16 +6,16 @@ fun extractManufacturerData(manufacturerData: SparseArray?): ByteArra val rawData = mutableListOf() if (manufacturerData != null && manufacturerData.size() > 0) { - var pos = 0; - for(i in 0 until manufacturerData.size()){ + var pos = 0 + for (i in 0 until manufacturerData.size()) { val companyId = manufacturerData.keyAt(i) val payload = manufacturerData.get(companyId) rawData.add((companyId.toByte())) rawData.add(((companyId.shr(Byte.SIZE_BITS)).toByte())) - pos += 2; - var list = payload.asList(); + pos += 2 + val list = payload.asList() rawData.addAll(pos, list) - pos += list.size; + pos += list.size } }