brarcher / loyalty-card-locker Goto Github PK
View Code? Open in Web Editor NEWStores your barcode-based store/loyalty cards on your phone
License: GNU General Public License v3.0
Stores your barcode-based store/loyalty cards on your phone
License: GNU General Public License v3.0
The cards' barcodes shown by the app are too small to be read by a barcode scanner, that would be great to print them in a greater size or show them in fullscreen, and perhaps in landscape by default when you click on the little barcode.
I've long waited to be able to recommend an alternative to Stocard to family and friends.
Therefore I would like to help with translating loyalty-card-locker to German.
Do I only need to copy app/src/main/res/values/strings.xml
to app/src/main/res/values-ge/strings.xml
and start translating?
Please allow editing name of Store
I'd like to know if it's possible to add a button or something on the barcode screen to lock the screen orientation?
It is sometimes useful to avoid the screen to move when we present the phone to the barcode scanner or the cashier.
Especially when you have a cart completely full, with a lot of people looking at you, because they commonly decided they are late because of you...
Hi,
Great app! An enhancement, is it possible to add a sync to Owncloud or at least a file export?
Currently, we have to sync app' sqlite db.
Best regards
For example a KFC card is required to be scanned and having this app remake the barcode could be better
Dutch translation to store in values-nl/strings.xml
<resources>
<string name="app_name">Klantenkaartenkluis</string>
<string name="action_add">Voeg toe</string>
<string name="noGiftCards">Er zijn momenteel geen klantenkaarten toegevoegd. Klik de knop met "+" (plus) om te beginnen.\n\nKlantenkaartenkluis beheert klantenkaarten op een smartphone of tablet, zodat ze altijd binnen handbereik zijn.</string>
<string name="storeName">Winkel</string>
<string name="cardId">Kaart-ID</string>
<string name="barcodeType">Barcodetype</string>
<string name="cancel">Annuleer</string>
<string name="save">Sla op</string>
<string name="capture">Scan kaart</string>
<string name="edit">Bewerk</string>
<string name="delete">Verwijder</string>
<string name="editCardTitle">Bewerk klantenkaart</string>
<string name="addCardTitle">Voeg klantenkaart toe</string>
<string name="viewCardTitle">Bekijk klantenkaart</string>
<string name="scanCardBarcode">Scan barcode klantenkaart</string>
<string name="barcodeImageDescription">Afbeelding barcode klantenkaart</string>
<string name="noStoreError">Geen winkel toegevoegd</string>
<string name="noCardIdError">Geen kaart-ID toegevoegd</string>
<string name="cardIdFormat">%1$s: %2$s</string>
</resources>
Currently if one pushes the trash can icon from the Edit screen the loyalty card is deleted without a confirmation. Add a confirmation to avoid unintentional deletes.
It tells me "app not installed" when trying to update v0.10 to v0.11. I am running v5.1 of Android.
I can design an icon (very similar to the one already used) that is material.
I seem to be able to edit, but I can't figure a way to remove entries.
Hey @brarcher, please implement the follwoing README
improvements here as well:
README
to the following one (it should say changes, not "changed"):If there is any interest in improving this project, kindly submit a pull request with proposed changes.
Hi,
Is there a way to get new releases changelog ?
Best regards.
Sometimes a card can be used online in addition to at a store. It would therefore be convenient if there were a way to select one of the cards and copy the card id to the clipboard.
The following crash was observed in application version 10:
java.lang.RuntimeException:
at android.os.AsyncTask$3.done(AsyncTask.java:318)
at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:354)
at java.util.concurrent.FutureTask.setException(FutureTask.java:223)
at java.util.concurrent.FutureTask.run(FutureTask.java:242)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:243)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:762)
Caused by: java.lang.OutOfMemoryError:
at dalvik.system.VMRuntime.newNonMovableArray(Native Method:0)
at android.graphics.Bitmap.nativeCreate(Native Method:0)
at android.graphics.Bitmap.createBitmap(Bitmap.java:977)
at android.graphics.Bitmap.createBitmap(Bitmap.java:948)
at android.graphics.Bitmap.createBitmap(Bitmap.java:915)
at protect.card_locker.BarcodeImageWriterTask.doInBackground(BarcodeImageWriterTask.java:78)
at protect.card_locker.BarcodeImageWriterTask.doInBackground(BarcodeImageWriterTask.java:21)
at android.os.AsyncTask$2.call(AsyncTask.java:304)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
Device information:
Android version: Android 7.0
Device: Galaxy S6 (zerofltevzw)
Manufacturer:Samsung
RAM (MB): 3072
Screen size: 1440 ร 2560
Screen density (dpi): 640
Native platform: armeabi-v7a
OpenGL ES version: 3.1
CPU make: Samsung CPU
model: Exynos 7420
Hello.
I'm currently using your app and i can tell it's a very optimal answer to the other alternatives.
It has a lightweight memory footprint and is very robust.
I just want to know if it could be possible to make the barcode full screen when we click on it ?
When I say full screen, I mean barcode alone on the screen with its width adapted to the border of the screen, depending on phone orientation, with a margin on each side to avoid confusion with screen border lines.
I hope my explanations are clear enough...
I'd like to help, but my coding knowledge are very outdated...!?
Thank you for your attention.
Not sure if it is due to my camera app being broken or because your app causes an error, but I cannot add a card via scanning it. Would you please implement that users can manually add card barcodes? Thanks!
Hi,
can you please add screenshots to the README.md?
Thank you very much.
This feature is specially useful for airline mileage numbers, or any number that can be used during online purchases.
It might be worth also implementing this "copy" feature to the "Note" field.
I tried putting one of them in clear view of the back camera and it still didn't pick it up. They are small cards with the barcode on them. One was the Membership Card for Baptist East Milestone Wellness & Fitness Center and the other is a Rewards Card for The Vitamin Shoppe.
The app must be given permission to use the camera in Settings -> Apps -> Loyalty Card -> Permissions. If not the app crashes when scanning in a new card via camera.
I wasn't sure if this was by design, but I wanted to report it for others.
The Icon of the application has been changed to better reflect what it is. Now the name 'locker' is confusing, as there is no locker anywhere. Remove this part of the application's name to reduce confusion.
Yes, me again.
For users without root access, it would be great to beable to export and import the cards to the SD card, or anywhere else.
I looked for a way to reorder the card list, to have the most important and used cards, first.
Maybe it's possible by esporting the cards and reordering them in the CSV file, and reimporting them.
Is it possible to add a "reordering cards" feature?
Thanks
Unless I am mistaken you have the only open source app for this thing. OK I got fdroid but for better exposure why not add it to play store?
Hi Brarcher
love your app - keep it simple and private
I can see you need help with interface; not too much of a grphic designer myself but I can help with French translation if you want...
Thanks
Please add a field under Store naned Client. For some stores people have multiple cards, each as a different client of that store, e.g. when working for multiple organisations.
This would be an optional field and can be shown in the over behing the name of the store, separates by a space, hyphen and space.
I'm an user of your app, so, thank you for the effort.
As it is now, when I want to enter e new card, I scan it with barcode scanner (or something like it), then copy the resulting code to clipboard, and finally paste it in a new entry in Loyalty Card Locker.
Would it be possible to insert a new code in the app using the Android sharing menu from a barcode scanning app?
So, this is a feature request (might possibly work on this myself). My mother has a ton of loyalty cards, so she wants to use an app like this. However the only ones user friendly enough to use are proprietary (her preferred is Stocard). I've introduced her to free software and she wants to stop using proprietary software as much as possible. The problem with this app is that, as opposed to stocard, there are no logos, no searchable stores to easy add cards, you have to choose what form of barcode is the right one, the colours are bland, the list is one big scrolling hell if you have a ton of cards (no searching)
So, to recap, it would be nice to see the following:
Anyways, this is a great app that fills a void on F-Droid, so I'm happy it exists. I hope we'll be able to bring it up to par with the proprietary ones
I have installed LoyaltyCardLocker from F-Droid (version 0.7 reported), and exported the LoyaltyCardLocker data from another device. I copied this to the phone, and tried the "IMPORT" button, but get this message:
Failed to import: /storage/emulated/0/LoyaltyCardLocker.csv
As far as I can tell, the files are identical. I only have 9 entries so it's not a huge deal to re-scan or recreate them somehow, but I'm happy to try to debug this. I don't really know where to start, since all I get is the "failed to import" message. ๐
@brarcher, I am missing an About-Screen in all your apps containing the following Information:
I consider this especially important to ensure proper bug reports and attract more developers. Thanks!
Google playstore analytics indicates that usually when a partial wakelock is held it is done for less than a minute. However, a few times a user did something to cause the partial wake lock to be held for 4-8 hours. The reason for this needs to be determined.
Is the partial wake lock the lock used when displaying a barcode and brightening the screen? Is that causing the phone to not sleep?
If I hold the phone landscape and somehow the sensor turns the screen portrait, the whole entry, including the barcode are scaled to fit the screen. Which makes perfect sense. But once the screen is back in landscape mode the barcode stays tight and won't scale back. This happens when starting from portrait mode. And most barcode readers have a hard time reading it with a tight picture.
It would be great to be able to set a small picture per card on the overview.
Or even having an overview with the logo and name of the card only:
https://c.mobilegeeks.de/wp-content/uploads/2013/02/stocard-04.jpg
Hello,
Will you he can add this functionality:
Maximize the brightness when selecting the card.
Or have a button that allows you to do so.
The scanners detect barcodes with improved brightness.
Thank you and good luck
I scanned successfully a barcode only to be converted to a different system which apparently is not supported by the store that created the first barcode that I scanned
There are some stores that provide a physical card with 1D-barcode, but they also provide the same number as a QR Code in their app (IKEA is one example). Thus, I'd like to be able to change the barcode type without having to re-enter the number.
The UI can behave like this:
Edit
button.Why is this needed? Because I can scan my physical 1D card into the app, but then I can't edit it. If I want to use a different kind (QR Codes are easier to scan, specially if the phone screen is not high-res), I have to manually type the number.
The Beep and Go app (now discontinued) used the infrared proximity sensor to pulse patterns that tricked barcode readers into reading a barcode (link).
Determine if something similar can be done for this application to help linear barcodes be better read by scanners which cannot scan screens.
Please update changelog to detail changes to version 0.12.
p.s. Great app - I'm enjoying it very much.
Please add ability to change location where card information saves, i wanna to save it on external sd or owncloud folder, because i wanna reformat my phone and backup all data
I'd like to have the card database encrypted that can be set up with a pin/password on openning the application.
Each time I open the app, I get the presentation, even if I look the presentation till the last screen.
The following is not a real bug, just an issue of managing expectations...
I installed this purely out of interest and wondered how you would solve the issue that adding stamps to a phone screen does not make much sense. Because that is the most common kind of loyalty card I know - collect ten stamps on a card and get the eleventh order free.
There are other loyalty cards that are based on magnetic stripes or NFC that would not work with this app either.
I think your description on F-Droid should mention that this only works for bar code-based systems.
Most barcode readers available in stores simply can't read the barcode at the backlighting levels I use the phone. So I have to go into the menu, max out the backlighting, scan the barcode and go back and adjust the light to a somewhat close value to what was before. Can you do a button for the interface that once pushed when the entry is opened, say next to the pencil for editing the entry, will save the backlighting value, max it up and when pushed again will restore the backlighting intensity value from before?
The layout when adding a card, namely:
and when displaying a card for scanning or reading at a store, namely:
could be improved. They are functional, but could be improved to be more visually appealing and perhaps easier to use. In addition, if the application is to let a user add a thumbnail of the store, namely #86, there currently is no place to put the thumbnail.
There are a number of other applications available on Google Play. Although this application should not be a clone of them, perhaps they could be used as inspiration.
Not all loyalty cards have barcodes. Please allow for adding a code manually.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.