- 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
* Improve example app
- Introduced utility functions for sorting BLE services and filtering characteristics based on properties.
- Updated the peripheral detail page to support reading all characteristics and improved value formatting for better readability.
- Added navigation functionality for adjacent characteristics and integrated property filters in the services list widget.
- Enhanced the services side widget to manage selected properties and provide a clearer UI for service interactions.
- Implemented copy functionality for logs and improved overall user experience in the peripheral details section.
* Remove expandable
* Automatically start scanning on launch
* Show loading indicator for discovering services
* Decrease the height of TextFormField
* Update company identifier handling and enhance scanning features
- Updated `pubspec.lock` to version 1.2.0 and added `yaml` dependency.
- Introduced `CompanyIdentifierService` for loading and querying company identifiers from a new YAML file.
- Enhanced scanning functionality to support filtering by company names and IDs.
- Updated UI components to display company names alongside manufacturer data in scanned items.
- Improved search functionality to include company names in the filter criteria.
* Address AI comments
* Address AI comments
* Allow searching by company id
* Remove redundant loading state update in CompanyIdentifierService
* Enhance company ID parsing in CompanyIdentifierService
- Updated the `_parseCompanyId` method to support additional formats for company IDs, including non-prefixed strings interpreted as decimal or hexadecimal based on their content.
- Improved parsing logic to first attempt hexadecimal conversion if the string contains hex characters, enhancing flexibility in input handling.
- Bump version to 1.2.0 in pubspec.lock.
- Enhance ScannerScreen with a Bluetooth availability tooltip and improved search filter UI.
- Refactor AppDrawer to include a queue type selection feature.
- Update ScannedDevicesPlaceholderWidget to include a 'Start Scan' button for better user interaction.
- Improve overall layout and styling for better user experience.
* Improve example app ui
* Store favorite services in local storage
* Use Text instead of SelectableText
* Improve colors
* Fix flutter analyzer issues
* Revert example app minimum sdk requirement
* Implement hasPermission api and improve ui flow
* More ui improvements
* Improve ScannedItem ui
* Improve control ui
* Change color theme to blue
* Minor improvements wip
* improve responsive ui and flow
* More improvements
* More improvements
* Update Mac podfile
* Fix home page scroll view
* Update app and package name
* Revert changelog
* Resolve Ai comments
---------
Co-authored-by: Foti Dim <foti@navideck.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 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>
* Add high-level api extensions for BleDevice and Characteristic
* Add doc comments and move few files to utils
* Add advance documentation
* Make the high level APIs the new default in the readme
* More readme cleanups
* Add pair api, improve notifications apis and deprecate writeValue
* Use highLevel apis in Example
* Rename HighLevel isPaired api to hasPairing api
* Update Readme
* Rename low level readValue api to read and update Readme
* Update UniversalBle to use new apis instead of deprecated internally
* Split queueCommand and queueCommandWithoutTimeout
* Split setNotifiable into subscribeNotifications, subscribeIndications and unsubscribe
* Fix web imports
* Update changelog
* Switch back to isPaired
Co-authored-by: Rohit Sangwan <rohitsangwan647@gmail.com>
* Fix BleDevice toString method
* Switch back to isPaired
* Change peripheral to device
* Rename cached to preferCached
* Remove preferCached from discoverServices()
* Update changelog
* Use cached services
* Add ///
* Reverse withoutResponse to withResponse to avoid negation
* Link to low level API
* Move connectionState to public readme
* Rename disableSubscriptions to unsubscribe
* Improve documentation
* Fix getService cache
* Add NotFoundException
---------
Co-authored-by: Foti Dim <foti@navideck.com>
* Add WebBluetoothGloballyDisabled exception and fix availability state
* Update changelog and version
---------
Co-authored-by: Foti Dim <foti@navideck.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>
* Improve windows and linux error handeling
* Send proper error code from windows for write command
* Fix Linux
* Fix getConnectedDevices on windows
---------
Co-authored-by: fotidim <fdimanidis@gmail.com>
Co-authored-by: fotidim <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>