Skip to content

2.0.0

Compare
Choose a tag to compare
@github-actions github-actions released this 09 May 10:03
d553429

Added

  • LaserScanner was expanded to give access to the cache of discovered providers and the option to re-discover them:
    • discoverProviders()
    • getProviderCache()
  • ScannerServiceApi methods to expand control on the scanner search, lifecycle and client hooks:
    • unregisterClient()
    • restartProviderDiscovery()
    • getAvailableProviders()
    • updateScannerSearchOptions()
  • ScannerSearchOptions methods to simplify manipulating intent extras from the service API:
    • fromIntentExtras()
    • toIntentExtras()
  • ScannerSearchOptions options to decide whether the service should start searching for scanners on bind or not
  • Most (if not all) callback interfaces now have a Proxy implementation that centralize jumps to the UI thread:
    • ProviderDiscoveredCallback
    • ScannerCommandCallback
    • ScannerConnectionHandler
    • ScannerDataCallback
    • ScannerInitCallback
    • ScannerStatusCallback
  • New and updated scanner SDKs:
    • Zebra: rework of the existing OSS driver for Zebra, fixing mistakes in the protocol and adding bases for future BLE support (not yet tested)
    • Athesi E5L (model RD50TE): add OSS driver, different from the SPA43LTE model
    • Honeywell EDA52: add OSS driver, device also compatible with the old non-OSS driver
  • The demo application (demoscannerapp/) was expanded to include a Settings activity, allowing to tune scanner search options and showcasing the different filters available.
  • Javadoc where it was missing
  • Many tests !

Changed

  • Project structure was updated to be easier to navigate, most notably the api and bt (bluetooth) packages
  • README was updated with a more accurate compatibility matrix and links to mentionned classes
  • ScannerForeground and ScannerBackground were merged into the Scanner interface which now regroups all scanner implementations
  • ForegroundScannerClient and BackgroundScannerClient were merged into ScannerClient interface, this is the interface the ScannerService user will need to implement to hook itself to service callbacks
  • Scanner methods are now regrouped by feature category into subinterfaces instead of being directly available with potentially no effect, and a method is available for each feature to cast the scanner into the appropriate interface if the feature is available, or null if it is not available:
    • Scanner.WithBeepSupport and getBeepSupport() for beep-related commands
    • Scanner.WithTriggerSupport and getTriggerSupport() for software-controlled triggers
    • Scanner.WithIlluminationSupport and getIlluminationSupport() for flashlight-style illumination
    • Scanner.WithLedSupport and getLedSupport() for LED control
    • Scanner.WithInventorySupport and getInventorySupport() for inventory-related information
  • StatusChangedCallback was reworked with localized messages and a set list of available statuses, making it easier to handle status changes.

Removed

  • Library implementation of HID keyboards, the default android support is deemed sufficient
  • ScannerServiceAPI methods that were not related to the scanner's lifecycle:
    • anyScannerSupportsIllumination()
    • anyScannerHasIllumination()
    • toggleIllumination()
    • beep()
    • ledColorOn()
    • ledColorOff()
    • getFirstScannerStatus()
  • Many bugs !