- Introduced an enum `ScanOrder` to define sorting options for scanned devices.
- Implemented logic to save and retrieve the selected scan order from shared preferences.
- Added a popup menu for users to select the sorting method (Last Seen, Name, RSSI).
- Updated the device list display to reflect the selected sorting order, enhancing user experience.
- Added a new method `_onScanFilterApplied` to handle the application of scan filters, which updates the state and clears device lists.
- Refactored the filter application logic in the bottom sheet to utilize the new method for better code organization.
- Ensured that device lists are cleared when a new filter is applied and scanning is stopped if currently active.
* 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.
- Implemented loading and saving of scan filters (services, name prefix, manufacturer data, and search term) using SharedPreferences.
- Added functionality to apply filters from the loaded preferences.
- Updated the UI to save filters when they change or when the search is cleared.
* 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>