gcash / android-neutrino

Android mobile wallet using the bchwallet/neutrino backend
9 stars 9 forks source link

Slow(er) QR code scanning on some (likely older) devices #29

Open Klakurka opened 5 years ago

Klakurka commented 5 years ago

Slow(er) QR code scanning on some (likely older) devices:

im_uname claims that QR code scanning on his LG G5 (Android 8) is slower than other wallets (eg. Crescent Cash) with a ~0.4s freeze when the code is scanned.

It would be good to get an idea how widespread this minor issue is as it would be ideal if as many devices as possible were performing as quick as possible.

On my personal OP6, Neutrino is by far the quickest to scan and doesn't have the small freeze/pause that most other wallets have.

zquestz commented 5 years ago

It is by far the fastest for me too. It does use the scanning api's provided by google, so not sure exactly what we can do about this.

Klakurka commented 5 years ago

I'm not technical but one potential option could be using a different scanner depending on the device if it turns out there's a pattern with which devices are slow (eg. A certain version of Android).

It would be good to pass this along to the google team working on this in case they're able to reproduce.

nighthawk24 commented 5 years ago

Crescent Cash uses https://github.com/zxing/zxing instead of google mobile vision lib that neutrino is using. I can investigate switching to zxing if it's faster and lighter.

Additionally, the deep link URI issue(https://github.com/gcash/android-neutrino/issues/20) is kind of blocked due to the way the callback from the ScannerActivity is setup to only return results from the ScannerActivity to SendActivity.

zquestz commented 5 years ago

@nighthawk24 I would love to see that blocker resolved for the deep linking. This is one of the more crucial features to add before we actually do a non-beta release. Do you have suggestions on how that can be refactored?

nighthawk24 commented 5 years ago

Yes, the deep links can be resolved in a standalone activity to open intents to SendActivity or other screens based on use case of the resolved URI. Is there a way I could get permission to create branch so I can work within android-neutrino project instead of forking to my own branch when working on issues?

zquestz commented 5 years ago

I have no issue with that, @cpacia is the admin so he would need to setup the privs.