Comments (8)
Comment by TheLastProject
Monday Dec 09, 2019 at 16:21 GMT
from android.
Comment by TheLastProject
Sunday Dec 15, 2019 at 14:06 GMT
I've opted for using a new EXTRAS database field to store this all in, because putting all of this data in the note doesn't seem doable. See brarcher/loyalty-card-locker#309 (comment) for how this looks to the end-user.
from android.
Comment by TheLastProject
Sunday Dec 15, 2019 at 18:12 GMT
i18n is working, but I need to fix all the tests still:
from android.
Comment by TheLastProject
Monday Dec 16, 2019 at 16:10 GMT
While not perfect, it does enough to be useable. I guess I consider this to be "ready for review" now, @brarcher.
It's a rather huge change, so to explain the architecture a bit:
- There's a new ExtrasHelper which stores "extra" data. The reason for this is that (1) note doesn't support i18n, (2) there's simply way too much data to store in a note and still have a decent user experience
- The ExtrasHelper saves to the database as JSON and parses the JSON from the database. This is on purpose because (1) to my knowledge JSON by itself does not have code execution exploit risks like other ways of storing data does, (2) it makes it easy to share it with the existing share feature and (3) there are no real guarantees as to what fields there will be which makes it difficult to create a good DB structure for
Some notes:
- I'm honestly not happy with the whole codebase being filled with
throws JSONException
now, but I'm not sure how else to make this work... - Android intents are very confusing but this at least consistently works for downloaded .pkpass files in a file manager.
- We lack a proper i18n chain. Right now it's just
user's preferred language -> en -> untranslated
. This means that if Android returnses_AR
for example, we'll likely fail to return thees
translation and will instead return theen
one. I do not yet know how to properly fix this.
from android.
Comment by TheLastProject
Wednesday Dec 18, 2019 at 11:19 GMT
I couldn't resist and I'm sure the legal worries of #303 don't apply when they literally put the icon in the file that's provided.
from android.
Comment by airon90
Saturday Feb 22, 2020 at 08:27 GMT
I suppose that the name of the app should be changed, as boarding cards or event tickets are not loyalty cards. I am going to open a new issue about that.
from android.
Comment by TheLastProject
Saturday Feb 22, 2020 at 14:05 GMT
I personally would keep the app name the same and just write in the description it also supports event tickets and stuff.
from android.
Closed in favour of #69.
from android.
Related Issues (20)
- Barcode scanner error unreadable on Samsung in light mode
- Front of Card Image not the default HOT 4
- Width of Barcode Display HOT 4
- GUI feature/accessibility request: different number of columns HOT 1
- Search by Card ID and Barcode value HOT 1
- In the list of cards, some names are not fully displayed
- Do not reset search results after exiting the card view window HOT 2
- Save button is covered by OSK when last action is text editing HOT 1
- The barcode value does not match the text below the barcode HOT 2
- In case of an error "No barcode was found" prompt the user to manually specify the area of ββthe image to rescan HOT 3
- Group checkboxes lack contrast in dark theme
- PNG with transparency is not displayed correctly as thumbnail HOT 1
- Add Front β Back Image Button HOT 3
- The general search results should include all cards of the group whose name matches the search query HOT 6
- Custom global full screen barcode display height does not save its value HOT 1
- Swiping to dismiss keyboard also dismisses search HOT 2
- Keep the screen on during export HOT 1
- Request during import: do you want to replace the current ones or add to them? HOT 1
- Handle click outside of import process notification HOT 1
- Migrate codebase to Kotlin HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from android.