Skip to content

Add Android Google Wallet module #5

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 33 commits into from
Feb 12, 2025
Merged

Add Android Google Wallet module #5

merged 33 commits into from
Feb 12, 2025

Conversation

Skalakid
Copy link
Collaborator

@Skalakid Skalakid commented Jan 9, 2025

Details

This PR adds the Android Google Wallet module. Based on @zfurtak POC

Screenshot 2025-01-10 at 11 28 32

Related Issues

GH_LINK

Manual Tests

Linked PRs

@Skalakid Skalakid changed the base branch from main to @Skalakid/set-up-repo January 9, 2025 15:06
@Skalakid Skalakid changed the base branch from @Skalakid/set-up-repo to main January 22, 2025 11:31
@Skalakid Skalakid changed the base branch from main to @Skalakid/set-up-repo January 22, 2025 11:31
Base automatically changed from @Skalakid/set-up-repo to main January 22, 2025 11:35
Skalakid and others added 14 commits January 22, 2025 12:53
* npx create-react-native-library react-native-wallet

* Update CONTRIBUTING.md

* Add CLA.md

* Update package.jsons

* Update eslint rules

* Migrate yarn to npm

* Update README

* Update lint.yml

* Update lefthook.yml

* Add old arch backward compatibility

* Fix eslint

* Fix iOS structure for both Fabric and Paper

* Add platform info to example app

* Update Podfile.lock

* Update publish.yml

* Update package.json

* Change MainActivity and MainApplication location

* Update xCode scheme

* Fix ESlint and Prettier

* Remove unnecessary support for very old versions

* Downgrafe @react-native/eslint-config

* Remove web from PlatformInfo

* Add Android review changes

* Update package description

* Add gitignore to the example app

* Add iOS review changes

* Remove tests

* Change Wallet Specs

* Add javaPackageName

* Update RN to 0.76

* Remove comment

* Remove react-native.config.js

* Update Podfile.lock

* Change package name to include expensify in it

* Add review changes

* Add newline
@Skalakid Skalakid force-pushed the @Skalakid/android-module branch from 7dfab27 to 1ce871d Compare January 22, 2025 11:58
@brunovjk
Copy link
Collaborator

brunovjk commented Jan 22, 2025

Right now, contributions to this library are done under https://github.com/Expensify/App. Please refer to that repo and all it's guidelines for contributing.w.

Hi, is the .w at the end of the sentence in the README a typo? Thanks! Oops, I don't know if this is the best place to ask this—sorry!

@Skalakid
Copy link
Collaborator Author

@brunovjk Yes, it was a typo, good catch thank you :D

@Skalakid Skalakid force-pushed the @Skalakid/android-module branch from ad063ed to dcc4c4d Compare January 23, 2025 12:05
@Skalakid Skalakid requested a review from zfurtak January 24, 2025 15:11
Copy link

github-actions bot commented Jan 27, 2025

All contributors have signed the CLA ✍️ ✅
Posted by the CLA Assistant Lite bot.

@zfurtak
Copy link
Collaborator

zfurtak commented Jan 27, 2025

I have read the CLA Document and I hereby sign the CLA

Copy link
Collaborator

@zfurtak zfurtak left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The PR looks awesome 🤩🎉 I left a couple of thoughts to discuss 😉

Copy link
Collaborator

@WoLewicki WoLewicki left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good job! I added some comments.

@Skalakid Skalakid requested a review from WoLewicki February 12, 2025 12:16
@Skalakid Skalakid marked this pull request as ready for review February 12, 2025 12:18
@Skalakid Skalakid force-pushed the @Skalakid/android-module branch from cc2e044 to ecb30a9 Compare February 12, 2025 12:42
@Skalakid Skalakid merged commit 270be84 into main Feb 12, 2025
2 checks passed
Skalakid added a commit that referenced this pull request Feb 12, 2025
* Link Google TapAndPay SDK to the library

* Add checkWalletAvailability function

* Update example app

* Add getSecureWalletInfo function

* Update example app

* Move getWalletId function

* Add getCardStatus function

* Add getCardStatus example

* Add getCardTokenStatus function

* Add getCardTokenStatus example

* Add addCardToWallet function

* Add addCardToWallet example

* Add onCardActivated event listener

* Set up the repo structure (#4)

* npx create-react-native-library react-native-wallet

* Update CONTRIBUTING.md

* Add CLA.md

* Update package.jsons

* Update eslint rules

* Migrate yarn to npm

* Update README

* Update lint.yml

* Update lefthook.yml

* Add old arch backward compatibility

* Fix eslint

* Fix iOS structure for both Fabric and Paper

* Add platform info to example app

* Update Podfile.lock

* Update publish.yml

* Update package.json

* Change MainActivity and MainApplication location

* Update xCode scheme

* Fix ESlint and Prettier

* Remove unnecessary support for very old versions

* Downgrafe @react-native/eslint-config

* Remove web from PlatformInfo

* Add Android review changes

* Update package description

* Add gitignore to the example app

* Add iOS review changes

* Remove tests

* Change Wallet Specs

* Add javaPackageName

* Update RN to 0.76

* Remove comment

* Remove react-native.config.js

* Update Podfile.lock

* Change package name to include expensify in it

* Add review changes

* Add newline

* Update package name in kotlin files

* Update Promise object interface methods

* Update README

* Fix app crashing when SDK is not verified

* Unify error handling in the WalletModule

* Move OnCardActivatedEvent file and update its name

* Add InvalidNetworkError

* Add SDK intructions to README

* Add whitelisting intructions to README

* Add beta tests intructions to README

* Update step 3 in README

* Update README

* Update README

* Adjust PR

* Implement missing function and adjust the code

* Adjust PR to comments

* Change init to initialize

* Fix not null assertion on currentActivity

* Add removeActivityEventListener on module invalidation

---------

Co-authored-by: zfurtak <[email protected]>
Skalakid added a commit that referenced this pull request Feb 12, 2025
* Link Google TapAndPay SDK to the library

* Add checkWalletAvailability function

* Update example app

* Add getSecureWalletInfo function

* Update example app

* Move getWalletId function

* Add getCardStatus function

* Add getCardStatus example

* Add getCardTokenStatus function

* Add getCardTokenStatus example

* Add addCardToWallet function

* Add addCardToWallet example

* Add onCardActivated event listener

* Set up the repo structure (#4)

* npx create-react-native-library react-native-wallet

* Update CONTRIBUTING.md

* Add CLA.md

* Update package.jsons

* Update eslint rules

* Migrate yarn to npm

* Update README

* Update lint.yml

* Update lefthook.yml

* Add old arch backward compatibility

* Fix eslint

* Fix iOS structure for both Fabric and Paper

* Add platform info to example app

* Update Podfile.lock

* Update publish.yml

* Update package.json

* Change MainActivity and MainApplication location

* Update xCode scheme

* Fix ESlint and Prettier

* Remove unnecessary support for very old versions

* Downgrafe @react-native/eslint-config

* Remove web from PlatformInfo

* Add Android review changes

* Update package description

* Add gitignore to the example app

* Add iOS review changes

* Remove tests

* Change Wallet Specs

* Add javaPackageName

* Update RN to 0.76

* Remove comment

* Remove react-native.config.js

* Update Podfile.lock

* Change package name to include expensify in it

* Add review changes

* Add newline

* Update package name in kotlin files

* Update Promise object interface methods

* Update README

* Fix app crashing when SDK is not verified

* Unify error handling in the WalletModule

* Move OnCardActivatedEvent file and update its name

* Add InvalidNetworkError

* Add SDK intructions to README

* Add whitelisting intructions to README

* Add beta tests intructions to README

* Update step 3 in README

* Update README

* Update README

* Adjust PR

* Implement missing function and adjust the code

* Adjust PR to comments

* Change init to initialize

* Fix not null assertion on currentActivity

* Add removeActivityEventListener on module invalidation

---------

Co-authored-by: zfurtak <[email protected]>
zfurtak added a commit that referenced this pull request Feb 18, 2025
Add checkWalletAvailability function

Update example app

Add getSecureWalletInfo function

Update example app

Move getWalletId function

Add getCardStatus function

Add getCardStatus example

Add getCardTokenStatus function

Add getCardTokenStatus example

Add addCardToWallet function

Add addCardToWallet example

Add onCardActivated event listener

Set up the repo structure (#4)

* npx create-react-native-library react-native-wallet

* Update CONTRIBUTING.md

* Add CLA.md

* Update package.jsons

* Update eslint rules

* Migrate yarn to npm

* Update README

* Update lint.yml

* Update lefthook.yml

* Add old arch backward compatibility

* Fix eslint

* Fix iOS structure for both Fabric and Paper

* Add platform info to example app

* Update Podfile.lock

* Update publish.yml

* Update package.json

* Change MainActivity and MainApplication location

* Update xCode scheme

* Fix ESlint and Prettier

* Remove unnecessary support for very old versions

* Downgrafe @react-native/eslint-config

* Remove web from PlatformInfo

* Add Android review changes

* Update package description

* Add gitignore to the example app

* Add iOS review changes

* Remove tests

* Change Wallet Specs

* Add javaPackageName

* Update RN to 0.76

* Remove comment

* Remove react-native.config.js

* Update Podfile.lock

* Change package name to include expensify in it

* Add review changes

* Add newline

Update package name in kotlin files

Update Promise object interface methods

Update README

Fix app crashing when SDK is not verified

Unify error handling in the WalletModule

Move OnCardActivatedEvent file and update its name

Add InvalidNetworkError

Add SDK intructions to README

Add whitelisting intructions to README

Add beta tests intructions to README

Update step 3 in README

Update README

Update README

Adjust PR

Implement missing function and adjust the code

Adjust PR to comments

Change init to initialize

Add button component

Add google path map

Final version

Update README

Update example app

Remove imageStyle

Texst

Change assets to svg ones

Add button with svg image

Fix not null assertion on currentActivity

Adjusted to review comments

Add new line in package.json

Add Android Google Wallet module (#5)

* Link Google TapAndPay SDK to the library

* Add checkWalletAvailability function

* Update example app

* Add getSecureWalletInfo function

* Update example app

* Move getWalletId function

* Add getCardStatus function

* Add getCardStatus example

* Add getCardTokenStatus function

* Add getCardTokenStatus example

* Add addCardToWallet function

* Add addCardToWallet example

* Add onCardActivated event listener

* Set up the repo structure (#4)

* npx create-react-native-library react-native-wallet

* Update CONTRIBUTING.md

* Add CLA.md

* Update package.jsons

* Update eslint rules

* Migrate yarn to npm

* Update README

* Update lint.yml

* Update lefthook.yml

* Add old arch backward compatibility

* Fix eslint

* Fix iOS structure for both Fabric and Paper

* Add platform info to example app

* Update Podfile.lock

* Update publish.yml

* Update package.json

* Change MainActivity and MainApplication location

* Update xCode scheme

* Fix ESlint and Prettier

* Remove unnecessary support for very old versions

* Downgrafe @react-native/eslint-config

* Remove web from PlatformInfo

* Add Android review changes

* Update package description

* Add gitignore to the example app

* Add iOS review changes

* Remove tests

* Change Wallet Specs

* Add javaPackageName

* Update RN to 0.76

* Remove comment

* Remove react-native.config.js

* Update Podfile.lock

* Change package name to include expensify in it

* Add review changes

* Add newline

* Update package name in kotlin files

* Update Promise object interface methods

* Update README

* Fix app crashing when SDK is not verified

* Unify error handling in the WalletModule

* Move OnCardActivatedEvent file and update its name

* Add InvalidNetworkError

* Add SDK intructions to README

* Add whitelisting intructions to README

* Add beta tests intructions to README

* Update step 3 in README

* Update README

* Update README

* Adjust PR

* Implement missing function and adjust the code

* Adjust PR to comments

* Change init to initialize

* Fix not null assertion on currentActivity

* Add removeActivityEventListener on module invalidation

---------

Co-authored-by: zfurtak <[email protected]>
Skalakid added a commit that referenced this pull request Feb 19, 2025
* Link Google TapAndPay SDK to the library

* Add checkWalletAvailability function

* Update example app

* Add getSecureWalletInfo function

* Update example app

* Move getWalletId function

* Add getCardStatus function

* Add getCardStatus example

* Add getCardTokenStatus function

* Add getCardTokenStatus example

* Add addCardToWallet function

* Add addCardToWallet example

* Add onCardActivated event listener

* Set up the repo structure (#4)

* npx create-react-native-library react-native-wallet

* Update CONTRIBUTING.md

* Add CLA.md

* Update package.jsons

* Update eslint rules

* Migrate yarn to npm

* Update README

* Update lint.yml

* Update lefthook.yml

* Add old arch backward compatibility

* Fix eslint

* Fix iOS structure for both Fabric and Paper

* Add platform info to example app

* Update Podfile.lock

* Update publish.yml

* Update package.json

* Change MainActivity and MainApplication location

* Update xCode scheme

* Fix ESlint and Prettier

* Remove unnecessary support for very old versions

* Downgrafe @react-native/eslint-config

* Remove web from PlatformInfo

* Add Android review changes

* Update package description

* Add gitignore to the example app

* Add iOS review changes

* Remove tests

* Change Wallet Specs

* Add javaPackageName

* Update RN to 0.76

* Remove comment

* Remove react-native.config.js

* Update Podfile.lock

* Change package name to include expensify in it

* Add review changes

* Add newline

* Update package name in kotlin files

* Update Promise object interface methods

* Update README

* Fix app crashing when SDK is not verified

* Unify error handling in the WalletModule

* Move OnCardActivatedEvent file and update its name

* Add InvalidNetworkError

* Add SDK intructions to README

* Add whitelisting intructions to README

* Add beta tests intructions to README

* Update step 3 in README

* Update README

* Update README

* Adjust PR

* Implement missing function and adjust the code

* Adjust PR to comments

* Change init to initialize

* Fix not null assertion on currentActivity

* Add removeActivityEventListener on module invalidation

---------

Add Add to wallet button (#6)

* Add button component

* Add google path map

* Update README

* Change assets to svg ones

* Add button with svg image

* Adjusted to review comments

---------

Co-authored-by: zfurtak <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants