- Updated autogenerated files to reflect changes from Pigeon v26.3.4.
- Added new classes for UniversalBlePeripheralConfig, UniversalBlePeripheralService, UniversalBlePeripheralCharacteristic, UniversalBlePeripheralDescriptor, and UniversalBlePeripheralWriteEvent to handle peripheral configurations and events.
- Modified UniversalBlePlugin to implement methods for peripheral support, including StartPeripheral, StopPeripheral, UpdatePeripheralCharacteristicValue, and NotifyPeripheralCharacteristic, returning appropriate error messages for unsupported features on Windows.
- Updated HasPermissions method to include an additional parameter for Bluetooth advertising permissions.
- Adjusted method signatures and implementations across the plugin to accommodate new peripheral functionality.
Signed-off-by: Tony <tonylu@tony-cloud.com>
* Add SPM support
* Cleanup cocoapods bits from example app
* Update package references for universal-ble in Xcode project
* Refactor notification handling and error logging in UniversalBleWeb class
* Change min sdk version
* Update CHANGELOG.md to include SPM support on Apple and requestConnectionPriority feature for version 1.3.0
* Add service-data in advertisements
* Fix windows serviceData parsing
* Resolve Ai comments
* Resolve Ai comments and validate service data
* Cleanup and Update changelog
- Added logic to differentiate between read and notify/indicate errors in the `didUpdateValueFor` method of `UniversalBlePlugin`.
- Improved error handling by preventing duplicate logging for read operations while maintaining appropriate logging for notify/indicate errors.
* Add autoConnect support
* Enhance autoConnect functionality for Bluetooth devices
- Added support for managing a set of auto-connect devices in both Android and iOS implementations.
- Updated connection and disconnection logic to handle auto-reconnect scenarios appropriately.
- Improved cleanup processes to prevent unwanted reconnections when devices are manually disconnected.
* Refactor connection button and add auto-reconnect toggle
- Updated the connection button layout for better UI consistency.
- Introduced an auto-reconnect toggle to manage automatic reconnections when devices become available.
- Enhanced connection and disconnection logic to respect the auto-connect setting.
* Update version to 1.2.0 and add CHANGELOG for new features
- Bumped version to 1.2.0.
- Added CHANGELOG.md detailing new features including support for `autoConnect` and UI updates for automatic reconnection.
* Improve readme
* Refactor variable naming for clarity in Bluetooth connection logic
- Changed variable name from `isAutoConnect` to `shouldAutoConnect` for better readability and understanding of its purpose in the connection state handling.
* Refactor connection handling in UniversalBlePlugin
- Simplified connection logic by always cleaning up internal state before sending connection change callbacks.
- Ensured GATT resources are only closed when autoConnect is disabled, allowing for better management of Bluetooth connections.
* Refactor disconnection handling in UniversalBlePlugin
- Introduced a new method `handlePeripheralDisconnection` to encapsulate disconnection logic, improving code readability and maintainability.
- Updated the `centralManager` methods to utilize the new disconnection handler, ensuring consistent behavior across connection state changes.
* Update darwin/Classes/UniversalBlePlugin.swift
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
---------
Co-authored-by: Foti Dim <fotios.dimanidis@a2zebra.de>
Co-authored-by: Navideck Labs <130186950+navidecklabs@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Implement Logging
* Add timestamp in OnValueChanged
* improve web and linux logging
* Implement windows and format pigeon
* Fix windows build and unity log level
* Log commands with timestamp
* Fix code doc
* Remove unnecessary import
* Update docs
* Fix crash on windows 11 because of failed pairing
* Update changelog
* Fix native code formatting
* Implement characteristic descriptor discovery
* Improve Darwin services discovery
* Minor mac fix
* Implement Windows support
* discover descriptors in DiscoverServicesAsync api on windows
* Add withDescriptors in discoverServices api
* Implement withDescriptors for Apple and Android
* Fix ai comment and format pigeon generated file
* Resolve Ai comment
* Capitalize API
* Handle empty services scenario
---------
Co-authored-by: Foti Dim <foti@navideck.com>
* Improve disconnect api
* Get disconnection event on Web from callback
* Wait for disconnection result on calling disconnect
* Improve linux disconnection
* Update Changelog
* Fix Ai comments
* Implement requestPermission api
* Update example ios podfile
* Update example windows dependencies
* Update Readme and Changelog
* Resolve Ai Comments
* Improve bluetooth permission handling
* Update Readme
* Improve readme
---------
Co-authored-by: Foti Dim <foti@navideck.com>
* Wait for writeWithoutResponse request completion on Android
* Wait for writeWithoutResponse request completion on Darwin
* Add WriteWithoutResponse button in example app
* Update changelog and bump version
* Apply suggestions from code review
Co-authored-by: Foti Dim <foti@navideck.com>
---------
Co-authored-by: Foti Dim <foti@navideck.com>
* Improve example app for system connected devices
* Add print when no filter is set for system devices
---------
Co-authored-by: Foti Dim <fdimanidis@gmail.com>
* Enhance getSystemDevice API on macOS with Broader Default Services Filter
* Update docs
* Update darwin/Classes/UniversalBlePlugin.swift
Co-authored-by: Foti Dim <foti@navideck.com>
* Reorder fields
* Use ScanFilter ui for getting system devices
---------
Co-authored-by: Foti Dim <fdimanidis@gmail.com>
Co-authored-by: Foti Dim <foti@navideck.com>
* Add api to disable Bluetooth
* Implement Android support
* Fix apple build
* Update Readme
* Combine rows
---------
Co-authored-by: Foti Dim <fdimanidis@gmail.com>
* Add error in connection updates
* implement windows
* Update changelog and Docs
* minor fix in connect()
* Add default timeout in connect
* Document new pair and connect API
* Fix Connect and Pair apis to throw proper errors and Improve logging
* remove import
* Rename PairingException and update Exception doc
* Update changelog
* Update comments
---------
Co-authored-by: Foti Dim <fdimanidis@gmail.com>
* Improve scan filter api
* Implement Windows filters
* Add manufacturerDataList and deprecate manufacturerData
* Fix Windows
* Update Readme and changelog
* Remove import
* Fix Linux
* Update readme and changelog
* Cleanup Todo
* Improve ManufacturerData
* Rename webConfig and Manufacturer.data
* Return false for receivesAdvertisements on Linux/Web
* Add delay in discoverServices on Linux
* Remove import
* Update changelog
---------
Co-authored-by: fotidim <foti@navideck.com>
* Add connecting and disconnecting state
* Replace BleConnectionState with boolean in onConnectionChanged callback
* Improve Docs and Changelog
* Implement GetConnectionState in Windows
* Update CHANGELOG.md
Co-authored-by: Foti Dim <foti@navideck.com>
* Add code level doc of connectionState getter
---------
Co-authored-by: Foti Dim <foti@navideck.com>
* Improve setNotifiation completion
* Implement Windows
* Minor android fixes
* Few more fixes
* Update changelog
---------
Co-authored-by: Foti Dim <fdimanidis@gmail.com>
* Cleanup connection
* Reverse search list
* Bump version
* Fix Android serviceUuids in scanResults
* Fix typo
* Improve cleanup on apple
* Improve Apple reconnection and service discovery
* Persist long scan result name on Windows
Co-authored-by: navidecklabs <navidecklabs@users.noreply.github.com>
* Update changelog
---------
Co-authored-by: Rohit Sangwan <rohitsangwan647@gmail.com>
Co-authored-by: navidecklabs <navidecklabs@users.noreply.github.com>
* Add manufacturer data filtering
* Implement manufacturer data filter in windows
* Fix manufacturerData filtering on windows
* Fix linux
* Clean comments
---------
Co-authored-by: Foti Dim <fdimanidis@gmail.com>
* Implement ScanFilter
* Add windows implementation
* Fix Linux and cleanups
* Update Readme, Changelog and Version
* Minor fixes from AI comments
* Fix windows crash and update pigeon
* Fix UUID parsing
* Apply suggestions from code review
Co-authored-by: Foti Dim <foti@navideck.com>
---------
Co-authored-by: Foti Dim <foti@navideck.com>
* Improve windows device name discovery
* Imrove classes and folders structuring
* rename generated files
* Improve windows threads and other fixes
* More optimizations
* Cleanups
* Update .vscode/settings.json
Co-authored-by: Foti Dim <foti@navideck.com>
* Resolve comments
* Performance improvements
---------
Co-authored-by: Foti Dim <foti@navideck.com>
Co-authored-by: Foti Dim <fdimanidis@gmail.com>