Coder Social home page Coder Social logo

Initial pkpass support about android HOT 8 CLOSED

catimaloyalty avatar catimaloyalty commented on July 19, 2024
Initial pkpass support

from android.

Comments (8)

TheLastProject avatar TheLastProject commented on July 19, 2024

Comment by TheLastProject
Monday Dec 09, 2019 at 16:21 GMT


Documentation:
https://developer.apple.com/library/archive/documentation/UserExperience/Reference/PassKit_Bundle/Chapters/TopLevel.html#//apple_ref/doc/uid/TP40012026-CH2-SW1

from android.

TheLastProject avatar TheLastProject commented on July 19, 2024

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.

TheLastProject avatar TheLastProject commented on July 19, 2024

Comment by TheLastProject
Sunday Dec 15, 2019 at 18:12 GMT


i18n is working, but I need to fix all the tests still:

photo_2019-12-15_19-11-24

from android.

TheLastProject avatar TheLastProject commented on July 19, 2024

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 returns es_AR for example, we'll likely fail to return the es translation and will instead return the en one. I do not yet know how to properly fix this.

from android.

TheLastProject avatar TheLastProject commented on July 19, 2024

Comment by TheLastProject
Wednesday Dec 18, 2019 at 11:19 GMT


Screenshot_1576667915

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.

TheLastProject avatar TheLastProject commented on July 19, 2024

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.

TheLastProject avatar TheLastProject commented on July 19, 2024

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.

TheLastProject avatar TheLastProject commented on July 19, 2024

Closed in favour of #69.

from android.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.