Skip to content

What's new in Iristick SDK 1.2

This is a minor feature release that is backward-compatible with previous 1.x releases. Applications built with SDK 1.0 up to 1.1 will continue to work with Iristick Services 1.2 without recompiling. Applications built with SDK 1.2 however require Iristick Services 1.2 or later to be installed.

iOS SDK Preview

This release introduces the first preview of the Iristick SDK for iOS devices, allowing iOS applications to run on Iristick smart glasses. The preview SDK is available on request. Please get in touch with Iristick if you are interested.

Android 10 support

This release adds support for phones running on Android 10. Please note that, due to a bug in Android 10, your pocket unit's firmware may need to be upgraded before it can be used on Android 10. To do so, connect your pocket unit to a phone running on Android 9 or older with Iristick Services 1.2 installed.

Android 10 has removed the option to grant screen capture permission to an app without asking every time. To allow smooth operation when headsets get connected and disconnected, the Iristick Services will now request screen capture permission as soon as a pocket unit is connected to the phone.

Barcode scanning API

In previous releases, barcode scanning was only available through the ACTION_SCAN_BARCODE intent. This release extends the camera API to give developers complete control over the barcode scanning process. The new API can be leveraged to provide continuous barcode scanning and even to scan multiple barcodes at once.

The following keys have been added to the camera API:

Read the new barcode scanning API guide for more information.

Other API changes

The white balance of the cameras can now be controlled manually. The final white balance gains applied to a frame are also reported as part of the capture results. The corresponding new keys in the camera API are:

To make it easier to select an Iristick camera, the Headset class got a new findCamera() convenience method. The cameras API guide has been updated to reflect this new recommended way.

Warning

The strings used to identify cameras have changed in this release. As camera identifiers are generated by the Iristick Services, the change also applies to applications built with Iristick SDK 1.1 or earlier. There is no guarantee that identifiers remain stable across releases, devices or instances. Relying on stable identifiers, e.g., by hardcoding them or saving them in preferences, results in undefined behavior. Camera identifiers should always be treated as opaque strings that must be queried for every Headset instance with findCamera() or getCameraIdList().

New constants have been added as aliases to the MediaStore constants used as intent extras for the ACTION_IMAGE_CAPTURE and ACTION_VIDEO_CAPTURE intents. It is recommended to use the new constants:

The Iristick core and support libraries have been annotated with AndroidX annotations for a better developer experience in Android Studio.

Firmware improvements

This release contains a number of improvements to the device firmware. When running Iristick Services 1.2, the device firmware is updated automatically.

The camera quality has been improved with better white balance in 5MP still captures, better auto-exposure results in low light conditions, and improved auto-focus algorithm. Frame timestamps provided through the SENSOR_TIMESTAMP capture result are now more accurate.

Audio has also been improved with better speaker sound quality and higher microphone volume.

Other changes

The video capture intent (ACTION_VIDEO_CAPTURE) has a new codec selection algorithm which works across a wider range of smartphones. It will try to pick the common H.264/AVC codec if available. Recording low-quality videos will now correctly scale and crop the camera frames instead of capturing the top-left corner.

The Iristick Services no longer prevent other applications from capturing the phone screen contents. While another application is capturing the screen, the display cloning to the heads-up display functionality is disabled. When the other application stops capturing the screen, the Iristick Services will request screen capture again and resume the display cloning functionality.

The web console, available through the developer settings, has been rewritten to make display mirroring work on a broader range of browsers.

The "Disable Premium features" developer setting has been removed as it was often misunderstood by users.

Deprecation notices

Relying on the Iristick Accessibility Service for UI interaction is now discouraged in production as it offers a suboptimal user experience. The accessibility service might be removed or become optional in a future release. As part of this move, the following methods of the IristickBinding class have been deprecated:

  • setInteractionRules, along with the InteractionRule class,
  • focusView,
  • enterView.

The camera2 support package has been deprecated. It is unmaintained and does not provide full access to all cameras functionality. Users are advised to follow the cameras API guide instead.

The use of the EXTRA_SIZE_LIMIT extra for the ACTION_VIDEO_CAPTURE intent has been deprecated as it does not guarantee that the final size of the recorded video will not exceed the desired limit.

The CaptureAdapter helper class has been deprecated in favor of the new CaptureListener2 abstract class.

The timestamp argument of the CaptureListener.onCaptureStarted callback has been deprecated as it is now unrelated to the more accurate SENSOR_TIMESTAMP capture result. Users are advised to override the variant without timestamp argument from the CaptureListener2 abstract class instead.

Patch releases since 1.2

Release 1.2.1

  • A regression that prevented manual camera gain to be set has been fixed.
  • Firmware files for A08 hardware have been added.

Release 1.2.2

  • The touchpad of new B08B hardware has been fixed.

Release 1.2.3

  • Auto-focus on the B08B zoom camera has been fixed.
  • Audio issues on some Samsung phones running Android 10 (e.g., XCover 4s) have been fixed.

Release 1.2.4

  • Resolution 1280×960 has been added to the supported camera frame sizes.
  • The sound quality of the internal speaker has been improved.
  • The internal microphones are now used also when an earpiece is plugged in to improve the quality of recorded sound.
  • The LED flashlight or laser pointer will not be re-enabled automatically anymore when disconnecting and reconnecting the headset without disconnecting the pocket unit.
  • An issue preventing the phone display of some Android 10 devices to be dimmed when the pocket unit is in the pouch has been fixed.
  • An issue preventing the screen recording permission dialog to be shown in some circumstances has been fixed.
  • Support for obsolete B04, C04 and B05 hardware has been removed.

Release 1.2.5

  • Voice command recognition performance has been improved.
  • A regression yielding many false positives when using French voice commands has been fixed.
  • Issues when using the cameras with low framerates or when zooming in have been fixed.
  • An issue has been fixed that caused the camera intent to crash when the Iristick Services were not allowed to access the camera.
  • Miscellaneous bugfixes.

Release 1.2.6

  • Add support for Android 11.

Release 1.2.7

  • The behavior of the camera intents and app have been improved when the headset is disconnected during video recording, or when the activity is put in background.
  • Audio issues on Pixel 4a phones when booting the phone with the pocket unit attached, have been fixed.
  • Miscellaneous bugfixes.