Commit Graph

156 Commits

Author SHA1 Message Date
Rohit Sangwan acfa3200ca Implement unified and type safe error messages (#186)
* Implement unified and type safe error messages

* Fix Apple error handling

* improve linux exception handling

* improve web exception handling

* fix window imports

* update pigeon generated files

* Fix compilaton issue

* Fix windows error parsing

* Fix windows compilation

* Improve error handling on dart side

* rename _wrapFuture to _executeWithErrorHandling

* Add pigeon generation script and format generated dart file

* Update changelog

* Update readme

---------

Co-authored-by: Foti Dim <foti@navideck.com>
2025-11-11 19:34:29 +01:00
Foti Dim b52ca9ee84 Add pana job 2025-11-10 21:40:31 +01:00
Kevin Evans 5689e551f7 fix: confusing param name (#182)
* fix: confusing param name

* Update lib/src/universal_ble.dart

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>

* Update lib/src/universal_ble.dart

Co-authored-by: Navideck Labs <130186950+navidecklabs@users.noreply.github.com>

---------

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: Navideck Labs <130186950+navidecklabs@users.noreply.github.com>
2025-10-03 21:58:50 +02:00
Rohit Sangwan af873b3153 Implement exclusion filter (#175)
* Implement exclusion filter

* Fix web filters

* Apply Ai Suggestions

* Fix scanFilterTest

* Resolve Ai comments

* Update readme and changelog

* Update CHANGELOG.md

Co-authored-by: Foti Dim <foti@navideck.com>

* Update exclusion filter doc

* Fix wording

---------

Co-authored-by: Foti Dim <foti@navideck.com>
Co-authored-by: Foti Dim <fotios.dimanidis@a2zebra.de>
2025-09-01 10:31:56 +03:00
Foti Dim f3d5de250c Update changelog 2025-08-20 09:08:19 +02:00
Foti Dim 49a9d1defb Bump example app dependencies 2025-08-20 09:06:44 +02:00
Jon Salmon 3bc259524d fix: resolve BLE device names correctly on Windows (#174)
* fix: resolve BLE device names correctly on Windows

* Clear map on dispose
2025-08-20 09:05:30 +02:00
Rohit Sangwan 71e19988a9 Add clear queue api (#171)
* Add clear queue api

* Minor improvement

* Update changelog

---------

Co-authored-by: Foti Dim <foti@navideck.com>
2025-07-16 12:36:39 +02:00
Rohit Sangwan 0f4bae71e1 Add timeout argument to all APIs (#172)
* Add timeout argument to all apis

* Update Version and changelog

* Bump version

* Update readme

---------

Co-authored-by: Foti Dim <foti@navideck.com>
2025-07-16 11:47:48 +02:00
Rohit Sangwan 2170588045 Fix characteristic value listener and add tests (#168)
* Improve characteristic value listener

* Implement characteristic tests

* Bump version and update changelog
2025-07-08 08:13:45 +02:00
Rohit Sangwan d56851cbfb Wait for writeWithoutResponse completion (#166)
* 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>
2025-06-26 08:05:59 +02:00
Rohit Sangwan 0008231bdf Update android example gradle 2025-06-24 20:05:49 +05:30
Foti Dim 17e13a475d Fix Android compilation 2025-06-24 15:11:17 +02:00
Rohit Sangwan 0758f5e91d Add high level API (#160)
* 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>
2025-06-19 13:02:14 +02:00
Rohit Sangwan 72090571a3 Add WebBluetoothGloballyDisabled exception and fix availability state (#165)
* Add WebBluetoothGloballyDisabled exception and fix availability state

* Update changelog and version

---------

Co-authored-by: Foti Dim <foti@navideck.com>
2025-06-13 00:30:13 +02:00
Foti Dim 4be924cd98 Bump actions/cache to v4 2025-05-30 11:26:02 +02:00
Foti Dim e9f97d1085 Improve readme clarity 2025-05-30 11:21:06 +02:00
Foti Dim d87a129bf8 Bump checkout action to v4 2025-05-30 11:18:12 +02:00
Foti Dim fa98d2989b Switch to flutter_lints: ^6.0.0 2025-05-29 21:35:04 +02:00
Foti Dim 78d0aaea66 Reduce amount of topics 2025-05-29 09:09:20 +02:00
Jonas Greifenhain 71dfe352d4 Add pipeline for pushing to pub.dev on tag creation (#164)
* workflows: Add workflow for publishing on tag creation

* Update .github/workflows/publish.yml

---------

Co-authored-by: Foti Dim <foti@navideck.com>
2025-05-29 08:43:15 +02:00
Foti Dim 682aba5bc6 Update changelog 2025-05-29 08:39:56 +02:00
Foti Dim 2101c1ac8b Improve Android runtime permissions docs (#157) 2025-05-29 08:33:57 +02:00
Jonas Greifenhain 5124bcdfcf example: Don't disconnect on leaving the details page 2025-05-29 08:32:03 +02:00
Jonas Greifenhain e8b8e0fd71 darwin: Cache and return advertised name for system devices
iOS and MacOS don't remember the advertised name for system devices, so we do that
2025-05-29 08:32:03 +02:00
Jonas Greifenhain 7228b554f9 darwin: Get and prefer advertised name of scanned devices 2025-05-29 08:32:03 +02:00
Jonas Greifenhain 4f9ad0b9e6 Fix example app Android builds (#162)
Tested on Web, MacOS, Linux and iOS too - refreshed Podfiles and Runnners
2025-05-29 08:27:08 +02:00
Foti Dim 23e2847a19 Fix service filter warning on macOS example app 2025-05-28 10:36:07 +02:00
Rohit Sangwan af3dda0fe4 Improve example app callbacks 2025-05-27 16:48:50 +05:30
Foti Dim 744094ebc5 Update pubspec.yaml 2025-05-26 13:59:27 +02:00
Foti Dim cd4e45b4ec Add app showcase in Readme 2025-05-16 19:42:04 +02:00
Foti Dim fec3c21918 Update changelog 2025-05-08 12:54:16 +02:00
Rohit Sangwan 8069ff52d5 Implement streams to get updates (#155)
* Implement streams to get updates

* Resolve comments

* Update Readme

* Apply suggestions from code review

Co-authored-by: Foti Dim <foti@navideck.com>

* Update Changelog

* Update Readme

---------

Co-authored-by: Foti Dim <foti@navideck.com>
2025-05-08 12:52:18 +02:00
tfroidcoeur 3194b0ad49 Fix: linux: getSystemDevices (#154)
Make sure getSystemDevices connects the bluez client first.
This ensures that the list of devices is correctly populated.

Signed-off-by: Tim Froidcoeur <tim.froidcoeur@comate.be>
Co-authored-by: Tim Froidcoeur <tim.froidcoeur@comate.be>
2025-04-26 22:02:49 +02:00
Foti Dim f26951834d Improve pairing section in readme 2025-03-22 09:44:08 +01:00
Foti Dim 334bc1c680 Improve docs for isPaired 2025-03-19 22:17:06 +01:00
Foti Dim b15e4f8705 Update changelog 2025-03-19 11:28:36 +01:00
Rohit Sangwan 3ce064d20f Refactor native windows (#148)
* Error on windows scan

* Implement thread safe cache handling

* Fix start scan method

* Update windows/src/universal_ble_thread_safe.h

Co-authored-by: Foti Dim <foti@navideck.com>

* Refactor native Windows

* Fix guid parsing

* Fix FlutterError on Windows

* Fix Merge Conflicts

* Fix char subscription and store in characteristic struct instead of global map

---------

Co-authored-by: Foti Dim <fdimanidis@gmail.com>
Co-authored-by: Foti Dim <foti@navideck.com>
2025-03-19 11:23:22 +01:00
Foti Dim 0b51a5bbbd Fix error on Windows scan (#146)
* Error on windows scan

* Implement thread safe cache handling

* Fix start scan method

* Update windows/src/universal_ble_thread_safe.h

Co-authored-by: Foti Dim <foti@navideck.com>

---------

Co-authored-by: Rohit Sangwan <rohitsangwan647@gmail.com>
2025-03-18 15:41:28 +05:30
Foti Dim a9f396bb4a Improve Android permission documentation (#147)
* Improve Android permission documentation

* Add snap instruction

* Improve Android permissions guide
2025-03-18 07:49:02 +01:00
Rohit Sangwan f0c38f7273 Fix Windows crash on start or stop scan (#143)
* Fix Windows crash on start or stop scan

* Fix crash on stop scan and cleanup

* Update Changelog

* Cleanups
2025-02-25 13:43:51 +01:00
Rohit Sangwan bc19a653dd Fix: Unable to establish connection on channel when hot restart (#142)
* Fix: Unable to establish connection on channel when hot restart

* Update Changelog
2025-02-21 19:27:54 +05:30
Rohit Sangwan 6cc43ccc86 Fix crash on Windows when calling pair APIs with an unknown deviceId (#141)
* Fix crash on Windows when call few apis with an unknown deviceId

* Update Changelog

* Bump Version
2025-02-20 12:28:33 +01:00
Foti Dim 12a5d9d061 Bump version to 0.16 2025-02-17 08:22:15 +01:00
Foti Dim 3170b4b77b Improve requestMTU() docs (#140)
* Improve requestMTU() docs

* Update Linux info
2025-02-17 08:20:43 +01:00
Foti Dim 2c0d36b9d1 Improve ManufacturerDataFilter (#139)
* Improve-ManufacturerDataFilter-docs

* Improve ManufacturerDataFilter namings and code

* Perform more renamings
Add tests
2025-02-17 06:42:28 +01:00
Foti Dim 15256283e3 Do not normalize UUIDs on native side (#138) 2025-02-16 12:03:02 +01:00
Foti Dim 601351889d Reverse _permissionStatus return values in example app 2025-02-15 16:29:47 +01:00
Foti Dim 6443915fc3 Improve readme
Update changelog
2025-02-12 10:18:57 +01:00
Marcel Graber 8e9ddc839d Update bluez.dart to 0.8.3 (#134) 2025-02-11 22:04:44 +01:00