Please use our links: LEGO.com • Amazon
Brickset.com is a participant in the Amazon Services LLC Associates Program, the Amazon.com.ca, Inc. Associates Program and the Amazon EU Associates Programme, which are affiliate advertising programs designed to provide a means for sites to earn advertising fees by advertising and linking to Amazon.
As an Amazon Associate we earn from qualifying purchases.
But if I switch to ABC, then back to 123, I get a "phone" keyboard:
Ideally, what I would love, is a calculator-style / computer numeric pad-style one, with 123 at the bottom - not sure if that's available in Android though?
PS Can I also add my eternal gratitude for the work you do on this app!
thanks for the answer and the solutions.
@sid3windr yup technically Cloudflare but at Brickset's direction :p I've had a quick chat with Huw before and he wants to keep everything protected atm including the API. Maybe I'll be able to persuade him differently eventually!
@NickF22 ah, that's my fault. Looks like I'm asking for a "number" keyboard by default, but "phone" if the input type is switched. It might be the same for some devices which is why I missed it before. I forget now which one I wanted, probably "phone" as it's more useful - I'll check my notes and forum posts. Android is very limited on the keyboard types I can request, different manufactures tend to implement them differently too. The "best" solution is for me to implement my own but I don't really want to go down that route!
If you have Lollipop (5.0) or higher (~90% of devices meet this criteria), you will be presented with a CAPTCHA. Completing it will proceed to myBrickset as usual. Currently you will be asked to solve the CAPTCHA on each launch of the app, hopefully I can prevent this in the future.
If you do not have Lollipop, then you'll be shown a message that brickset.com cannot be reached.
@NickF22 this release should also fix the keypad from changing types, I settled on displaying the simple "number" keypad as "phone" doesn't provide any benefit and just clutters the display.
Please LMK if you're able to test this, I have done so by using a localised proxy so it should do but can't guarantee it.
Really didn't expect to be in this situation (with a working solution) given where I was last week, but am extremely glad and relieved to be so!
Basically.. after solving a CAPTCHA once, you should not need to solve it again the next time the app is launched. I've tested locally with a VPN so am pretty sure it will work as expected.
That is now done. The latest solution uses Google's own Machine Learning libraries so is hopefully going to remain supported for quite a while.
I've done some testing locally, but I don't have access to many physical devices with different Android versions. So I'd like to crowdsource some testing if you're up for it :)
If you'd like to help out, please install the latest version, scan a few barcodes (or just https://brickset.com/assets/images/barcode?code=5702014499867 and verify it takes you to 10181) and reply with your Android version and whether it worked or not, and especially LMK if it crashed!
As you can see, adding barcode functionality unfortunately caused the app to grow from 5MB to 20MB because of the required libraries :( I'll keep working on trying to improve this.
What actually happens (from memory, I'm at work and don't have the code in front of me) is that the app asks for any installed apps that understand what the action "com.google.zxing.client.android" is - which is just the ZXing "Barcode Scanner" app and it's derivatives. If nothing was found, it directed the user to the page for the ZXing "Barcode Scanner" on the play store - which no longer exists (and it looks like the plus versions may not be any longer) [tho' it looks like an Indian developer has taken the open source code and just republished with the same name (but different package id) - https://play.google.com/store/apps/details?id=com.qrcodescanner.barcodescanner along with implementing in app purchases for something].
I'm surprised that scanning barcodes hasn't been baked into the Android framework yet, it's such a common action.
Hmm.. interesting. Running Google Authenticator I see a UI that looks like a custom one, but the source says "com.google.zxing.client.android.SCAN". Even after I've uninstalled the Barcode Scanner app locally it still works. Going through the code some more, if it can't find a scanner it redirects to the user to "market://search?q=pname:com.google.zxing.client.android" (maybe any of those results are all compatible?) and if that fails then it prompts to download an apk directly (https://zxing.googlecode.com/files/BarcodeScanner3.1.apk - which no longer exists). Oh, I'm looking at code from 2016. oops! I'll try to find the latest repo when I get home.
I'll also try and do some playing on a clean install and see what's going on (does it still prompt for a 3rd party app to be installed), but given that I can't rely on any 3rd party tool existing and there being no agreed upon standard for asking for a barcode to be scanned, I may end up sticking with the current solution of hosting scanning directly inside the app (and taking the 15MB hit of introducing the Machine Learning library, until Google support it as part of the framework - which the docs imply should be happening).
As before, I'd appreciate if people could give the barcode scanner in here a quick test so I can get some confidence across multiple versions.
(btw @sid3windr - I can't access the code for any versions of Google Authenticator newer than about 2016, but I've done some tests with the latest version on a clean install and it seems to have a built-in scanner. It showed me it was possible to have a scanner without bloating the app though, which led to me putting some more effort in and getting back to ~ 5MB!).
If anyone else would like to join the beta program, you can sign up here: https://play.google.com/apps/testing/uk.co.otissoft.mybrickset
If there's a beta release then you'll be prompted to install it the same way you would a regular release. If a regular release comes out that supersedes it, then you'll receive an update prompt for it as usual.
I try to only push stable builds (release candidates) to the beta channel, so it's a pretty low risk endeavour and chance to get new builds early, but I won't say it's completely risk free and you'll never encounter a critical bug - the chance of data loss is extremely low though and if I ever make changes that affect the sync code or have a chance of removing all your data from brickset.com then I'll explicitly say so in here and in the release notes.
I haven't heard of any issues with the barcode scanner so I'll probably push it with these fixes in a day or two.
Also available as a direct download: http://otissoft.co.uk/mybrickset/bin/myBrickset-120-2.6.11.apk [4.8MB]
What behaviour are you seeing - the reader cannot detect a barcode, or it detects one but shows no results?
If the first - can you please send me a screenshot (here, PM or mail) as it may be a format I'm not handling.
If the second - can you please try with the attached as that's one that I know should work (it's for #10181).
Can you enter some of your sets in brickset.com and see if the barcode for them is shown there (or you can do the same test in myBrickset)? I'm guessing that even if they have a barcode they won't have the specific one for your set (Brickset only stores at most 1 UPC and 1 EAN, but sets can have multiple due to regional differences).
I tried it with all the 4+ SW sets & all the Ninjago Legacy sets we've got, all have barcodes displayed when I view the set data on the app.
can you send me pictures (here, PM or email) of some of the barcodes you can't scan please. I'll see if there's anything I can do to improve things.
CAUTION: There is no upgrade path from this version. You WILL have to uninstall this to go back to the current release, or when the next major release is officially released. You MAY have to uninstall this to apply any future previews. It is unsupported, but under heavy development so I'm likely to quickly fix any issues that are raised.
There should be no data loss with this, but I've only been testing with a dummy account. So far I have not noticed anything wrong, and syncing etc appears to work as expected. So it should be safe to use with a live account, but you may want to take a backup just in case!
Installing on top of an existing install is fine, and it will migrate any owned sets etc. Obviously a clean install works too, and owned sets etc will be download from Brickset as usual.
As to what's changed.. I started off refactoring the database layer (M) to using the latest libraries (AndroidX & Room) but I very shortly found myself reworking much of the interface layer (V) and controller layer (C) too. I'd estimate that >70% of the code has been refactored.
It should feel a lot faster in general, especially when building or updating the db and when performing large queries or retrieving a lot of results.
The UI has been given a lick of Material Design so should hopefully look a bit cleaner and more "modern". The Grid view & Expandable List view have both been completely overhauled for improved performance and stability.
Lots of code has been refactored to the AndroidX libraries which should mean that it inherits a lot of bug fixes and improvements, as well as simplifying future maintenance.
I've also introduced automatic error & crash detection which I can monitor online, so hopefully it'll allow me to be a bit more proactive when it comes to investigating and fixing issues.
Known bugs - there may be issues when a background sync starts, but syncing from within the app (on startup or by pressing Refresh) should be fine. I'm working on removing the dependence on having an Account defined in Google Settings but haven't yet completed it. It won't cause any data loss etc, but the app may crash on you (but this is intermittent and rare - it requires Android to start a background sync whilst the app is open).
If you're feeling brave, give it a spin and let me know your thoughts or if you find any issues:
Looks like the crash is related to a recent column rename I implemented - I forgot to double check all the sorting & ordering functionality. If you change the sort to anything other than "theme" then it should start working.. but I just realised you can't do that as you need to complete a search first to be able to access the relevant settings. Darn. A clean install would work but I don't want to force you to do that.
This shouldn't take long to fix so I'll try to do it when I get home from work tonight and push out a new update.
Thanks again for being brave enough to give it a spin!
As before, please only install this if you're happy with installing alpha software and being on the cutting edge of myBrickset development.
Downloading the new version shortly.
I'll continue development and will hopefully have something a bit more finished next time.
There are a lot of people on the Beta channel that may not necessarily want to try out the 3.x release yet, so I'm shipping it as an Alpha.
Alpha status does not imply that the build is unstable, although there is still a very slight chance of data loss (I'm reluctant to say no chance until I've had multiple people report it's fine) and some of the Android libraries being used are still in Alpha status themselves.
To opt-in to Alpha development, please visit https://play.google.com/apps/testing/uk.co.otissoft.mybrickset to opt-in to testing releases (same process for Beta releases) and then join the group https://groups.google.com/d/forum/mybrickset-alpha. The Alpha release 3.0.2 should then be available for you in the Play Store.
- If you have a production release, it should upgrade to 3.0.2 seamlessly.
- If you have an early Alpha release (3.0.0 & 3.0.1), it should upgrade fine but information on "favourites" & "built" will be lost. If you wish to avoid this, export your data first
- Future releases will be fine and will not lose any data, only these two early alphas are affected
- The minimum supported Android version is now 23 (6.0 / Marshmallow / October 2015)
If you have any issues or questions, the above Google Group is probably the best place to raise them but I can also be reached through the usual methods: mail, PM, or a post here.
I'm expecting this release to represent the last of the major changes being made as part of the upgrade from 2.x, and will shortly start looking to roll it out to a wider audience (so long as no issues are reported).
This release includes a lot of performance improvements, especially on first launch or when upgrading.
In a major departure from all other releases, this is the first release in which I no longer ship with images and they will instead download on-demand (and will be cached for future use). I agonised over this decision for a long time as it means the app no longer supports the ability to view the entire LEGO catalogue whilst offline (technically it still does, just without images).
Given the constantly growing size of the images however, along with the maintenance overhead and several users complaining about disk space usage, I decided now was the time to bite the bullet.
If everyone feels this was the wrong decision then I am certainly willing to revisit it, but I'm hoping that few users will ever notice the difference except that their downloads from the Play Store are now much smaller.
If I use Google Play to host the expansion files, then they download automatically as the app installs. So I can't use that for things which are optional.
Is this the beta or the latest version from the store? Either way, it shouldn't be happening.
Can you send me the logs & db please, along with the numbers of a couple of sets that shouldn't be marked as wanted, and I'll take a look.
& my wanted list is as follows:
All the currently available Harry Potter sets released this year should be showing as owned, but #75945, #75946 & #75948 all show up as wanted in the app.
I'm currently only targeting (a random) 10% of users who have signed up for beta releases, if I don't hear any complaints or notice any major errors in the online analytics (3.x can now auto-report issues to me) then I'll increase the target %.
If you'd like to get the build without waiting, you should be able to do so from here: https://play.google.com/apps/test/RQdfTsKF8l0/ahAAvZMmiKhDYj_M_XIoVest4DYqdye3_ow18IL5DVjV5iFC0ERqdnUdsqMGGqQk_wF_9BiLhhENYgM_zmVvl4z4HO
If you could send me your logs & db please (main screen | menu | send logs) I can confirm this, or you can try a clean install and not touch the phone until the login screen shows - that should allow the db to build correctly. If you don't want to reinstall, the next release should fix the issue automatically.
I emailed you my logs in case they help. I'll give the reinstall a shot shortly. Thanks!