Stores your barcode-based store/loyalty cards on your phone

Overview

Loyalty Card Keychain

Build Status

Get it on F-Droid Get it on Google Play

Stores all of your store loyalty cards on your phone, removing the need to carry them around. Currently the following barcode types are supported:

  • AZTEC
  • CODABAR
  • CODE_39
  • CODE_128
  • DATA_MATRIX
  • EAN_8
  • EAN_13
  • ITF
  • PDF_417
  • QR_CODE
  • UPC_A

Screenshots

Building

To build, use the gradle wrapper scripts provided in the top level directory of the project. The following will compile the application and run all unit tests:

GNU/Linux, OSX, UNIX:

./gradlew build

Windows:

./gradlew.bat build

Thanks

This application uses the following image:

Note from Developer

Development on this project has been suspended. No further changes are expected. Thank you for your support!

A fork of this project called Catima can be found here. Consider that project for an alternative to Loyalty Card Keychain.

Comments
  • Small picture (logo) per card

    Small picture (logo) per card

    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

    help wanted 
    opened by jokay 69
  • Error while exporting to CSV

    Error while exporting to CSV

    Hello, I just installed the app and got all my card scanned properly. Thank you for your hard work

    This app work fine so far but I tried to export (backup) my all card list and got error (see attached screenshot) Screenshot_20200126-121851_Loyalty_Card_Keychain

    This is the only blocking feature I experience so far.

    opened by cazzoo 18
  • Move barcode closer to top/bottom of screen

    Move barcode closer to top/bottom of screen

    I would like to scan my library card at a self-checkout station. The laser is within an indentation in the side of the checkout station.

    With the current layout the 1D barcode is quite far from both top and bottom of the screen so the laser doesn't reach the barcode.

    I read a discussion in another issue about making the barcode full screen when you tap on it. That would be helpful for my use case.

    I realise my use case is unusual and understand if it is not something you want to support.

    enhancement help wanted 
    opened by dbolton 14
  • New feature: Favorite cards

    New feature: Favorite cards

    Description: If you have some favorite loyalty cards it is useful to have them as first items in the listview. Therefore I added the "star-unstar" feature. Cards in the LoyaltyCardViewActivity can be be starred in order to make them a favorite card.

    Therefore a new SQLite table column was added where the starring status is saved.

    Developer's Certificate of Origin 1.1

    By making a contribution to this project, I certify that:

    (a) The contribution was created in whole or in part by me and I have the right to submit it under the open source license indicated in the file; or

    (b) The contribution is based upon previous work that, to the best of my knowledge, is covered under an appropriate open source license and I have the right under that license to submit that work with modifications, whether created in whole or in part by me, under the same open source license (unless I am permitted to submit under a different license), as indicated in the file; or

    (c) The contribution was provided directly to me by some other person who certified (a), (b) or (c) and I have not modified it.

    (d) I understand and agree that this project and the contribution are public and that a record of the contribution (including all personal information I submit with it, including my sign-off) is maintained indefinitely and may be redistributed consistent with this project or the open source license(s) involved.

    [email protected]

    opened by t351206 11
  • New Feature : Possibility to have a full screen barcode

    New Feature : Possibility to have a full screen barcode

    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.

    opened by djelloul78 11
  • Dark mode

    Dark mode

    Fixes #298. Defaults to whatever the system theme is. When changing the value in settings, instantly swaps theme.

    Yes, this is really all that needed to be done. Android did a pretty good job at making dark themes possible easily.

    Screenshot_1575300538 Screenshot_1575300550 Screenshot_1575300553 Screenshot_1575300557 Screenshot_1575300567 Screenshot_1575300569 Screenshot_1575300574 Screenshot_1575303009


    This change is Reviewable

    opened by TheLastProject 10
  • Rescale the barcode

    Rescale the barcode

    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.

    bug help wanted 
    opened by bracuphoth 10
  • Feature: Manually add card barcodes

    Feature: Manually add card barcodes

    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!

    opened by SecUpwN 10
  • Up targetSdk for Google Play

    Up targetSdk for Google Play

    If I understand https://developer.android.com/distribute/best-practices/develop/target-sdk correctly, this is needed to publish an update to the Play store.

    I ran the test on the new targetSdk and clicked around and could not find any obvious new issues. But I will run a targetSdk 28 build on my device for some time and report back if I experience any issues anyway. If you don't hear from me, targetSdk 28 is stable :)


    This change is Reviewable

    opened by TheLastProject 9
  • Allow brightness for showing cards to be controlled in the settings

    Allow brightness for showing cards to be controlled in the settings

    I only have a handful of cards in use but was glad to see an open source, f-droid listed app without weird permissions. Thanks and thumbs up!

    I think a control to add a set amount or percentage of brightness when viewing a card would be nice instead of always having it at maximum.

    opened by jghq 9
  • New releases don't install

    New releases don't install

    Hello, first of all thanks for this great app. Unfortunately i have this problem with latest release. If i try to update with F-Droid, it forces F-droid to close and don’t install. In addition, i manually downloaded the apk file from github but when i try to access the download folder in order to install it, file manager suddenly closes. I have to manually remove the apk file by connecting device to PC and using PC file manager to be able to access device download folder. I had the same problem with other apps and it was related to a bug with android build tools: https://issuetracker.google.com/issues/64434571 For other apps it has then been solved by changing build tools to 27.0.1. I'm not a developer so i can't help you more than this.. sorry. Android 5.0.2.

    Thanks a lot

    opened by surferjoeit 9
  • A display issue

    A display issue

    Dear developer! In the process of using, I found a bug in layout / display. As shown in the figure, in the first page, the text in the red box is half blocked. I suspect it is because display and font size are set to large (mainly due to display size). I hope that the page can be set to scroll, so that the problem caused by the display size of large can be solved. App version is 0.28, my mobile phone is Google nexus 6, screen resolution setting is 1920* 1080, font size and display size are the largest ! ! !, Android system is 8.0. The above is a description of the problem. The overall experience of the software is good. You can see that the design is very attentive. Thank you very much for the efforts of the developers all the time. I hope to receive a reply. Thank you! bug-locker-39

    opened by franklinbill 1
  • Please make shourcut icons adaptive

    Please make shourcut icons adaptive

    image

    Known apps with adaptive shortcut icons: Element, Orgzly, Calendar, SELinuxModeChanger, SoundCloud image

    All of these shortcuts are created the same way, via long press from the main icon and dragging it to the desktop.

    opened by 532910 0
  • Add folders in main view

    Add folders in main view

    It would be great to have a "create folder" feature to sort cards. The searching of cards would be easier. for example, having folders as food, clothes, garden, cars... Thanks

    opened by KZouwin 0
  • Ability to edit card directly from card list to avoid brightness

    Ability to edit card directly from card list to avoid brightness

    First, having it automatically maximize brightness when viewing a card is great, and I'm surprised other apps haven't done it as well. The only issue I have with it, and it is very minor and low-priority since it's not something that would be a regular occurrence, but in order to edit a card, you have to open the card then select the edit icon. This means you have to be blasted by the bright light in the process, which isn't very comfortable, especially at night. If a way to edit cards directly from the list was added, whether by adding it to the long-click menu and/or by tapping the icon, then it could skip directly to the edit screen without showing the card and cranking the brightness in the meantime. Another option would be to possibly have an edit icon/switch on the main screen that could be turned on to switch to an edit mode, during which tapping on a card would open its edit screen, and turning it back off would return the app to its normal behavior of viewing the card when tapped.

    opened by vertigo220 2
  • Improve "Enter Card" > "Select Barcode" screen">

    Improve "Add Loyalty Card" > "Enter Card" > "Select Barcode" screen

    When I first started using this yesterday, it took me a while to figure out how to choose different barcodes. Due to the size of my screen, I saw exactly one barcode and its name (AZTEC) and thought that was it, not realizing I had to scroll to see the others. I kept trying to tap the barcode and the name, thinking it would open a pop-up to select a different one. This could be made easier to understand for new users by doing one of two things (or both):

    1. Change the text from "Enter the card ID then select the image..." to something like "Enter the card ID then scroll and select the image..."

    2. Add a scroll bar, and make it stand out, to make it clear there's more below.

    I realize this is a pretty minor thing, and most people will figure it out right away or fairly quickly, but I can imagine some people will struggle with it and possibly give up on the app because of it, which would be a shame.

    opened by vertigo220 0
Releases(v0.28)
  • v0.28(Mar 10, 2020)

  • v0.27(Jan 27, 2020)

  • v0.26.1(Jan 10, 2020)

  • v0.26(Jan 6, 2020)

    Changes:

    • Add ability to search for a card (#320)
    • Add ability to share and receive loyalty cards (#321)
    • Dark mode support (#322)
    • Loyalty cards can now be barcodeless (e.g. not have a barcode) (#324)
    • Notes can span multiple lines (#326)
    • Improvements with the sizing of notes (#319)
    • Improve notification and app icon visibility (#330)
    • Update target SDK to Android 10
    • Improve the following translations:
      • German
      • Italian
      • Dutch
      • Polish
      • Russian

    Downloads

    Source code(tar.gz)
    Source code(zip)
    loyalty-card-keychain.apk(4.38 MB)
  • v0.25.4(Oct 5, 2019)

  • v0.25.3(Mar 2, 2019)

  • v0.25.2(Jan 6, 2019)

  • v0.25.1(Oct 14, 2018)

  • v0.25(Oct 7, 2018)

  • v0.24(Aug 1, 2018)

    Changes:

    • Add a setting to control screen brightness when displaying a barcode (https://github.com/brarcher/loyalty-card-locker/pull/259)
    • Add Greek translations (https://github.com/brarcher/loyalty-card-locker/pull/252)
    • Add Slovenian translations (https://github.com/brarcher/loyalty-card-locker/pull/260)
    • Update translations (https://github.com/brarcher/loyalty-card-locker/pull/260, https://github.com/brarcher/loyalty-card-locker/pull/254)

    Downloads

    Source code(tar.gz)
    Source code(zip)
    loyalty-card-keychain.apk(4.00 MB)
  • v0.23.4(May 12, 2018)

  • v0.23.3(May 6, 2018)

    Changes:

    • Added translations
      • Polish (https://github.com/brarcher/loyalty-card-locker/pull/232)
      • Spanish (https://github.com/brarcher/loyalty-card-locker/pull/232)
      • Slovak (https://github.com/brarcher/loyalty-card-locker/pull/232)
    • Updated translations (https://github.com/brarcher/loyalty-card-locker/pull/239)

    Downloads

    Source code(tar.gz)
    Source code(zip)
    loyalty-card-keychain.apk(3.98 MB)
  • v0.23.2(Mar 12, 2018)

    This is release v0.23.2 of Loyalty Card Keychain.

    Changes:

    • Reduce min SDK from 17 to 15. (https://github.com/brarcher/loyalty-card-locker/pull/226)
    • Remove usage of legacy apache library, used only in unit tests but no longer needed. (https://github.com/brarcher/loyalty-card-locker/pull/225)

    Downloads

    Source code(tar.gz)
    Source code(zip)
    loyalty-card-keychain.apk(3.97 MB)
  • v0.23.1(Mar 8, 2018)

  • v0.23(Mar 1, 2018)

  • v0.22(Feb 19, 2018)

    This is release v0.22 of Loyalty Card Keychain.

    Changes:

    • Update translations. (https://github.com/brarcher/loyalty-card-locker/pull/208)
    • Barcode rendering updates: (https://github.com/brarcher/loyalty-card-locker/pull/209)
      • Reload card view activity when screen is rotated, so barcode image is correct size.
      • Render 1D barcodes in a larger space, allowing them to better fill the screen.

    Downloads

    Source code(tar.gz)
    Source code(zip)
    loyalty-card-keychain.apk(3.94 MB)
  • v0.21(Feb 18, 2018)

    This is release v0.21 of Loyalty Card Keychain.

    Changes:

    • Add quiet space at the start/end of barcodes. (https://github.com/brarcher/loyalty-card-locker/pull/200)
    • Add options to configure the colors used for the store name font and background. (https://github.com/brarcher/loyalty-card-locker/pull/203)
    • Add options to adjust font sizes on the card listing page and single card page. (https://github.com/brarcher/loyalty-card-locker/pull/204)

    Downloads

    Source code(tar.gz)
    Source code(zip)
    loyalty-card-keychain.apk(3.93 MB)
  • v0.20(Feb 11, 2018)

  • v0.19(Feb 1, 2018)

  • v0.18.1(Jan 24, 2018)

  • v0.18(Jan 20, 2018)

    This is release v0.18 of Loyalty Card Keychain.

    Changes:

    • Fix crash when importing certain types of corrupted CSV files. (https://github.com/brarcher/loyalty-card-locker/pull/177)
    • Fix importing backups directly from the file system. (https://github.com/brarcher/loyalty-card-locker/pull/180)
    • Fix importing backups from certain types of content providers. (https://github.com/brarcher/loyalty-card-locker/pull/179)
    Source code(tar.gz)
    Source code(zip)
    loyalty-card-keychain.apk(3.84 MB)
  • v0.17(Jan 12, 2018)

    This is release v0.17 of Loyalty Card Keychain.

    Changes:

    • Fix issue on Android SDK 24+ where using the file chooser import option would cause a crash. (https://github.com/brarcher/loyalty-card-locker/pull/170)
    • New icon and color scheme. (https://github.com/brarcher/loyalty-card-locker/pull/171)
    Source code(tar.gz)
    Source code(zip)
    loyalty-card-keychain.apk(3.84 MB)
  • v0.16(Nov 30, 2017)

    This is release v0.16 of Loyalty Card Keychain.

    Changes:

    • Add support for adding loyalty card shortcuts from the launcher/homescreen. (https://github.com/brarcher/loyalty-card-locker/pull/161)
    • Remove support for adding loyalty card shortcuts from the app itself. This removes the need for the shortcut permission. (https://github.com/brarcher/loyalty-card-locker/pull/163)
    Source code(tar.gz)
    Source code(zip)
    loyalty-card-keychain.apk(3.41 MB)
  • v0.15(Nov 25, 2017)

    This is release v0.15 of Loyalty Card Keychain.

    Changes:

    • Add support for adding shortcuts to home screen when adding or editing a card. (https://github.com/brarcher/loyalty-card-locker/pull/155)
    • Remove widget, as it was a poor substitute for shortcuts. (https://github.com/brarcher/loyalty-card-locker/pull/155)
    • Fix exporting backups on Android 7+. (https://github.com/brarcher/loyalty-card-locker/pull/153)
    • Report more accurate mime type when exporting backup data. (https://github.com/brarcher/loyalty-card-locker/pull/156)
    • Fix bug where a card could not be edited. (https://github.com/brarcher/loyalty-card-locker/pull/155)
    Source code(tar.gz)
    Source code(zip)
    loyalty-card-keychain.apk(3.41 MB)
  • v0.14(Sep 27, 2017)

    This is release v0.14 of Loyalty Card Keychain.

    Changes:

    • Add support for app shortcuts (Android 7.1+), where the most recently used cards will appear as shortcuts. (https://github.com/brarcher/loyalty-card-locker/pull/145)
    • Add a widget which works like a pinned app shortcut, to support devices which run below Android 7.1. (https://github.com/brarcher/loyalty-card-locker/pull/142)
    Source code(tar.gz)
    Source code(zip)
    loyalty-card-keychain.apk(3.41 MB)
  • v0.13(Jul 25, 2017)

    This is release v0.13 of Loyalty Card Keychain.

    Changes:

    • Add screen rotation lock menu option when displaying a card. If locked, the screen will transition to its "natural" orientation and further screen rotation will be blocked. (https://github.com/brarcher/loyalty-card-locker/pull/128)
    • If a card is selected from the main screen but cannot be loaded, the application fails gracefully and posts a message. (https://github.com/brarcher/loyalty-card-locker/pull/132)
    • Fix case where layout IDs for intro wizard could not be found. (https://github.com/brarcher/loyalty-card-locker/pull/128)
    Source code(tar.gz)
    Source code(zip)
  • v0.12(Jul 13, 2017)

    This is release v0.12 of Loyalty Card Keychain.

    Changes:

    • A change in v0.11 reduced the memory usage of barcode drawing, but affected the barcode dimensions. This is now changed to maintain the barcode dimensions while reducing memory usage. (https://github.com/brarcher/loyalty-card-locker/pull/126)
    • Update German and French translations. (https://github.com/brarcher/loyalty-card-locker/pull/122, https://github.com/brarcher/loyalty-card-locker/pull/124, https://github.com/brarcher/loyalty-card-locker/pull/125)
    Source code(tar.gz)
    Source code(zip)
  • v0.11.1(Jun 29, 2017)

  • v0.11(Jun 27, 2017)

    This is release v0.11 of Loyalty Card Keychain.

    Improvements:

    • When editing a card ID, pre-populate the existing ID to start. (https://github.com/brarcher/loyalty-card-locker/pull/94)
    • Limit the width of generated barcodes to reduce memory usage and out of memory errors. (https://github.com/brarcher/loyalty-card-locker/pull/103)
    • When editing a card, change the "Enter Card" button to say "Edit Card" if a card ID already exists. (https://github.com/brarcher/loyalty-card-locker/pull/104)
    • Change the color scheme to be softer and compatible with the app icon, and change the layout when viewing a card to be cleaner. (https://github.com/brarcher/loyalty-card-locker/pull/107)
    • Add an intro wizard which launches on the app's first launch. (https://github.com/brarcher/loyalty-card-locker/pull/108)
    Source code(tar.gz)
    Source code(zip)
  • v0.10(Feb 12, 2017)

    This is release v0.10 of Loyalty Card Keychain.

    Improvements:

    • Changed the default import/export filename. (https://github.com/brarcher/loyalty-card-locker/pull/84)
    • Correct string on the import/export page. (https://github.com/brarcher/loyalty-card-locker/pull/87)
    • Improve layout of card view page. The text should be easier to read, and is selectable with a long click. (https://github.com/brarcher/loyalty-card-locker/pull/91)
    Source code(tar.gz)
    Source code(zip)
    loyalty-card-keychain.apk(2.39 MB)
Owner
Branden Archer
Branden Archer
ScratchView 7.0 0.0 L4 Java repo is UX Design involving scratch cards like views which are scratched to reveal the information they conceal.

ScratchView Intro ScratchView repo is UX Design involving scratch cards like views which are scratched to reveal the information they conceal. There a

Harish Sridharan 1.1k Dec 24, 2022
Sliding cards with pretty gallery effects.

SlidingCard Sliding cards with pretty gallery effects. Download Include the following dependency in your build.gradle file. Gradle: repositories {

mxn 681 Sep 7, 2022
ScratchView repo is UX Design involving scratch cards like views which are scratched to reveal the information they conceal.

ScratchView Intro ScratchView repo is UX Design involving scratch cards like views which are scratched to reveal the information they conceal. There a

Harish Sridharan 1.1k Dec 24, 2022
This project created just for help developer who want to and ability of read VISA, UNION PAY, HUMO, ATTO and some other cards data read.

If you enjoy my content, please consider supporting what I do. Thank you. By me a Coffee To get a Git project into your build: Step 1. Add the JitPack

Fozilbek Imomov 1 Oct 15, 2022
Android StackBlur is a library that can perform a blurry effect on a Bitmap based on a gradient or radius, and return the result. The library is based on the code of Mario Klingemann.

Android StackBlur Android StackBlur is a library that can perform a blurry effect on a Bitmap based on a gradient or radius, and return the result. Th

Enrique López Mañas 3.6k Dec 29, 2022
Android Material Json Form Wizard is a library for creating beautiful form based wizards within your app just by defining json in a particular format.

Android Json Wizard Android Json Wizard is a library for creating beautiful form based wizards within your app just by defining json in a particular f

Vijay Rawat 355 Nov 11, 2022
Provides 9-patch based drop shadow for view elements. Works on API level 9 or later.

Material Shadow 9-Patch This library provides 9-patch based drop shadow for view elements. Works on API level 14 or later. Target platforms API level

Haruki Hasegawa 481 Dec 19, 2022
Stepper Touch for Android based on MaterialUp submission

Stepper-Touch For more updates on this and other open-source projects, follow me on twitter ?? here Stepper Touch for Android based on a Material Up s

Dion Segijn 667 Jan 1, 2023
Android library used to create an awesome Android UI based on a draggable element similar to the last YouTube graphic component.

Draggable Panel DEPRECATED. This project is not maintained anymore. Draggable Panel is an Android library created to build a draggable user interface

Pedro Vicente Gómez Sánchez 3k Dec 6, 2022
Proof of concept Android WebView implementation based on Chromium code

Deprecation Notice This project is un-maintained. The recommended alternative is the Crosswalk Project. I did not have the time to keep the project up

Victor Costan 1.7k Dec 25, 2022
TileView is a subclass of android.view.ViewGroup that asynchronously displays, pans and zooms tile-based images. Plugins are available for features like markers, hotspots, and path drawing.

This project isn't maintained anymore. It is now recommended to use https://github.com/peterLaurence/MapView. MapView is maintained by Peter, one of o

Mike Dunn 1.5k Dec 29, 2022
Drag and drop to reorder items in a list, grid or board for Android. Based on RecyclerView. Also supports swiping items in a list.

DragListView DragListView can be used when you want to be able to re-order items in a list, grid or a board. It also supports horizontal swiping of it

Magnus Woxblom 658 Nov 30, 2022
Android WebView wrapper based on chromium

ChromiumWebView Android WebView wrapper based on chromium Notice This is just a experimental project, don't use it in product. If you have problem whe

alex 511 Dec 1, 2022
Wizard Pager is a library that provides an example implementation of a Wizard UI on Android, it's based of Roman Nurik's wizard pager (https://github.com/romannurik/android-wizardpager)

Wizard Pager Wizard Pager is a library that provides an example implementation of a Wizard UI on Android, it's based of Roman Nurik's wizard pager (ht

Julián Suárez 520 Nov 11, 2022
Android View that displays different content based on its state

MultiStateView Android View that displays different content based on its state. Based off of MeetMe/MultiStateView The four different states the view

Kenny 1.2k Dec 16, 2022
Bubbles for Android is an Android library to provide chat heads capabilities on your apps. With a fast way to integrate with your development.

Bubbles for Android Bubbles for Android is an Android library to provide chat heads capabilities on your apps. With a fast way to integrate with your

Txus Ballesteros 1.5k Jan 2, 2023
Make your native android Toasts Fancy. A library that takes the standard Android toast to the next level with a variety of styling options. Style your toast from code.

FancyToast-Android Prerequisites Add this in your root build.gradle file (not your module build.gradle file): allprojects { repositories { ... ma

Shashank Singhal 1.2k Dec 26, 2022
Make your native android Dialog Fancy. A library that takes the standard Android Dialog to the next level with a variety of styling options. Style your dialog from code.

FancyAlertDialog-Android Prerequisites Add this in your root build.gradle file (not your module build.gradle file): allprojects { repositories { ..

Shashank Singhal 350 Dec 9, 2022
[] Define and render UI specs on top of your Android UI

dspec A simple way to define and render UI specs on top of your Android UI. Usage Enclose the target UI with a DesignSpecFrameLayout, usually the root

Lucas Rocha 561 Dec 16, 2022