question

russ-eaton avatar image
russ-eaton asked russ-eaton commented

Change in scanning behaviour on Mobile following Register App update 3rd March 17

Hi,

Following an automatic update of the Register App on my Mobile dev device on 3rd March some scanning parts of my app no longer work as before. The newly installed version is 1.0-1316.

Basically, I am monitoring LINEITEMADDED broadcasts from the Register and starting an Activity for selected items, allowing scanning of a barcode. The scanning code is based on the barcodereceiver sample app and was working fine previously.

Now my scanned barcode is also being picked up by the main Register app upon return, launching into the "Add Item" feature.

I have tried adding a delay to ensure the trigger is released before return to the register to no effect, so I assume it is not a case of double-triggering but that the same broadcast is being processed by both apps.

This has now broken my app, which was just completing testing for release. Is this change in behaviour intended, if so what can be done to work around it? If not, will the previous behaviour be restored and if so, when?

Thanks in anticipation,

Russ

10 comments
10 |2000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

rachel avatar image rachel commented ·

Hi @russ-eaton,

Can you share more details about your app's flow? As I understand it, your app listens to LINEITEMADDED and its ITEM_ID extra. Following the addition of certain items to an order, you start an Activity that involves scanning a barcode. Why is the barcode being scanned and, before this issue started, what did you do with the barcode?

Thank you, Rachel

0 Likes 0 ·
rachel avatar image rachel commented ·

Hello @russ-eaton,

The Register's flow upon scanning an item that's not already in inventory is to present the user with the new item screen in the inventory app. Per here, overriding the Register app's handing of a barcode scan is not something we're designing for.

0 Likes 0 ·
russ-eaton avatar image russ-eaton commented ·

Hi @rachel

Unfortunately the reference you mention was not posted until recently, long after I had investigated the published docs, tried out various possibilities and come up with a working solution which was broken only last week. Furthermore I would suggest that this is not an attempt to override the register's design functionality as at this point control has been ceded to the 3rd party app, and any use of the scanner - or any other resource - should be up to that app alone and any further interaction with the register should be deliberate and via the published API.

Regards Russ

0 Likes 0 ·
russ-eaton avatar image russ-eaton commented ·

The register item represents a monetary top-up to a prepaid account, the barcode identifies the account. These data are simply stored until the order is paid up, then the top-up transaction is logged on our servers. The same account can then be used as a tender method in the register.

0 Likes 0 ·
rachel avatar image rachel commented ·

Hi @russ-eaton,

Hopefully together we can figure out an alternative flow for your app.

What do you mean by, "ceded to the third-party app"; can you describe your flow to me in more detail, please? I was under the impression that the merchant is interacting with the Register app and adding the monetary top-up as a line item within the Register, but maybe I'm mistaken.

0 Likes 0 ·
Show more comments

1 Answer

rachel avatar image
rachel Deactivated answered dmitry-1 commented

Hi, @russ-eaton!

Thank you for helping me understand and replicate this change in behavior. I will update you upon the resolution of this issue.

10 comments
10 |2000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

dmitry-1 avatar image dmitry-1 commented ·

Hi, Rachel. Our app is based on the similar logic, described above: we catch LINEITEMADDED broadcast from the Register and start our app, that waits for barcode scanning. Barcode contains customer identification data and lets to participate in loyalty program. After the qr-code is scanned, we process it, our app stops and the Register appears again with the changed order. After one of update, in case of barcode was scanned in our app, the Register appears with opened "Add new Item" dialog, that brokes up our designed user flow. Hopefully, our "investigation" results will be helpful for you:

0 Likes 0 ·
dmitry-1 avatar image dmitry-1 commented ·

Described Register (v. 1.0.1316) behavior is present on the clover mini only. However, everything is ok on the clover station: the dialog will not appear after barcode scanning "in our app". So, the Register behavior on the mini looks like bug.

Could you please clarify the issue? Is it a bug or desirable behavior? In case of bug: how much time the fixing will take? Which version of the Register is in release now? Are you going to apply the update on the release environment? We appreciate clover dev-team's help here and hope for quick reply. Thank you!)

0 Likes 0 ·
dmitry-1 avatar image dmitry-1 commented ·

@rachel please, look at comments above. Unfortunately, I've missed @rachel, that causes notification for you. Thanks.

0 Likes 0 ·
dmitry-1 avatar image dmitry-1 commented ·

I meant "clover mobile" instead of "clover mini" in my comments.

0 Likes 0 ·
rachel avatar image rachel commented ·

Hi @dmitry_ (& @russ-eaton), The new version of Register (1319+) that is currently being rolled out should not trigger the Add to Inventory flow.

0 Likes 0 ·
Show more comments

Welcome to the
Clover Developer Community