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)
- User confusion with thousand separator in balance parsing HOT 10
- Make status bar colour match app bar colour HOT 5
- Exclude archived cards in ShortcutHelper HOT 1
- created data marix does not contain the proper information HOT 4
- Improve design of multi-barcode picker
- Sandbox PdfRenderer in a Service with android:isolatedProcess
- Highlight archived cards HOT 2
- Display loyalty cards as a text list, without thumbnails HOT 3
- Hide Card ID for binary content? HOT 2
- Loyalty card shortcut not updating with latest card information HOT 2
- About screen text can overflow into arrow HOT 1
- Proposal to Enhance Testing Infrastructure and Automate Workflows HOT 1
- Incorrect Implementation of describeContents() in LoyaltyCard Class HOT 3
- Google Play: "Can't install Catima (2.29.0)" HOT 3
- Errors in Spanish Translation HOT 1
- Cannot save balance in Arabic
- Option to disable the edit button on the lock screen HOT 3
- FR: Share text to app instead of image HOT 4
- Shortcut in control panel HOT 1
- Unable to open a card from the device control quick settings tile HOT 10
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.