Skip to content

2.3.0

Compare
Choose a tag to compare
@github-actions github-actions released this 05 Jul 17:08

(Since 2.2)

This release is mainly an overhaul of the camera management, introducing the usage of more recent Android APIs. Many usability options were also introduced in this release.

It contains no breaking changes (from previous 2.x releases). However, some defaut configurations have changed and the release notes should be read carefully to adapt your configuration if needed.

Work on Camera scanner:

  • When no hardware scanner is available, we can now use Camera2 compatible cameras in addition to the already present Camera1. The choice between camera1 and 2 is automatic. It can also be forced with a view parameter. Both versions have the same functionalities.
  • Added multiple options (XML attributes) to the camera view, see documentation.
    • Targeting view (the rectangle) can now be locked in place (it is still dragable by default)
    • Targeting view color can be changed
    • Targeting view stroke width can be changed
    • The reader engine (ZBar or ZXing) can be chosen
    • The Camera API version can be forced (should only be used for debugging purposes)
  • Default targeting rectangle is now centered

Work on the scanner management service:

  • Providers that use bluetooth are now disabled by default when using the service. To enable them, use startup options. (why? because BT search is always very long, and you should not have to suffer a long search by default)
  • Providers that use intent services (locally installed device-specific services) are still enabled by default, but can be disabled with a startup option when using the service
  • A new helper was created to reduce boilerplate code when binding the service at the app level (com.enioka.scanner.service.ScannerServiceBinderHelper)

Work on the ScannerCompatActivity activity:

  • Added more access to the internals of the scanning activity: access to service (and therefore scanners), button IDs...
  • Intent & BT scanners are now disabled by default in the main activity (new scanner search options, see service changes as it is the same)
  • Laser scanners are now always resumed on ScannerCompatActivity initial creation
  • Automatic toggle between laser and camera scanners in ScannerCompatActivity was fixed in multiple cases

Providers:

  • EMDK (Zebra) provider was updated with latest driver.
  • EMDK (Zebra) provider is now compatible with Android API level 30+
  • EMDK (Zebra) provider no longer writes a warning on each scan in the log
  • Zebra Bluetooth provider (using official driver, not provided) can now detect if the driver is present or not and fail gracefuly if not.
  • The Zebra closed source provider (it contains both EMDK & bluetooth) is now also published on Maven Central (com.enioka.scanner:provider-cs-zebra:2.3.0).
  • The Honeywell AIDC closed source provider is now also published on Maven Central (com.enioka.scanner:provider-cs-honeywell:2.3.0).

Misc:

  • Build Gradle plugin was updated to latest version. Developpers must now use JDK 17+.
  • Some of our libraries now have less (more granular) dependencies. JCenter is no longer needed.
  • The documentation was updated with the new options. There is still work to do in that area, including providing samples of the most common use cases.