Skip to content

Commit 7f19b1f

Browse files
author
Jeff Yanta
committed
Initial commit
0 parents  commit 7f19b1f

807 files changed

Lines changed: 60102 additions & 0 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
name: Android Build and Deploy
2+
3+
env:
4+
# The name of the main module repository
5+
main_project_module: app
6+
7+
# The name of the Play Store
8+
playstore_name: Code Wallet
9+
10+
on:
11+
push:
12+
tags:
13+
- '1.*'
14+
15+
# Allows you to run this workflow manually from the Actions tab
16+
workflow_dispatch:
17+
18+
jobs:
19+
deploy:
20+
runs-on: ubuntu-latest
21+
22+
steps:
23+
- uses: actions/checkout@master
24+
25+
- name: Setup Java env
26+
uses: actions/setup-java@v3
27+
with:
28+
java-version: '17'
29+
distribution: 'corretto'
30+
cache: 'gradle'
31+
32+
- name: Setup Ruby env
33+
uses: ruby/setup-ruby@v1
34+
with:
35+
ruby-version: 2.7.2
36+
bundler-cache: true
37+
38+
- name: Decode Google Services JSON file
39+
uses: timheuer/base64-to-file@v1
40+
id: google_services_json_file
41+
with:
42+
fileName: google-services.json
43+
fileDir: ./app/src
44+
encodedString: ${{ secrets.GOOGLE_SERVICES_JSON }}
45+
46+
- name: Decode Service Account Key JSON file
47+
uses: timheuer/base64-to-file@v1
48+
id: service_account_json_file
49+
with:
50+
fileName: serviceAccount.json
51+
encodedString: ${{ secrets.SERVICE_ACCOUNT_KEY_JSON }}
52+
53+
- name: Decode Upload Key Store file into location 1
54+
uses: timheuer/base64-to-file@v1
55+
with:
56+
fileName: key
57+
fileDir: ./key
58+
encodedString: ${{ secrets.UPLOAD_KEY_STORE }}
59+
60+
- name: Decode Upload Key Store file into location 2
61+
uses: timheuer/base64-to-file@v1
62+
with:
63+
fileName: key
64+
fileDir: ./app/key
65+
encodedString: ${{ secrets.UPLOAD_KEY_STORE }}
66+
67+
- name: Setup BugSnag API Key
68+
run: echo BUGSNAG_API_KEY=\"${{ secrets.BUGSNAG_API_KEY }}\" > ./local.properties
69+
70+
- name: Setup Mixpanel API Key
71+
run: echo MIXPANEL_API_KEY=\"${{ secrets.MIXPANEL_API_KEY }}\" >> ./local.properties
72+
73+
- name: Run tests
74+
run: bundle exec fastlane android test
75+
76+
- name: Build & deploy Android release
77+
run: bundle exec fastlane android deploy
78+
env:
79+
STORE_PASSWORD: ${{ secrets.KEYSTORE_PASSWORD }}
80+
KEY_ALIAS: ${{ secrets.KEY_ALIAS}}
81+
KEY_PASSWORD: ${{ secrets.KEYSTORE_PASSWORD }}
82+
SERVICE_ACCOUNT_KEY_JSON: ${{ steps.service_account_json_file.outputs.filePath }}
83+
84+
- name: Upload build artifacts
85+
uses: actions/upload-artifact@v2
86+
with:
87+
name: assets
88+
path: |
89+
${{ github.workspace }}/app/build/outputs/bundle/release

.gitignore

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
*.iml
2+
.gradle
3+
/local.properties
4+
.idea/
5+
.DS_Store
6+
/build
7+
/captures
8+
.externalNativeBuild
9+
.cxx
10+
local.properties
11+
/keystores/**
12+
/app/release/**
13+
/app/debug/**

Gemfile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
source "https://rubygems.org"
2+
3+
gem "fastlane"

Gemfile.lock

Lines changed: 219 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,219 @@
1+
GEM
2+
remote: https://rubygems.org/
3+
specs:
4+
CFPropertyList (3.0.6)
5+
rexml
6+
addressable (2.8.1)
7+
public_suffix (>= 2.0.2, < 6.0)
8+
artifactory (3.0.15)
9+
atomos (0.1.3)
10+
aws-eventstream (1.2.0)
11+
aws-partitions (1.735.0)
12+
aws-sdk-core (3.171.0)
13+
aws-eventstream (~> 1, >= 1.0.2)
14+
aws-partitions (~> 1, >= 1.651.0)
15+
aws-sigv4 (~> 1.5)
16+
jmespath (~> 1, >= 1.6.1)
17+
aws-sdk-kms (1.63.0)
18+
aws-sdk-core (~> 3, >= 3.165.0)
19+
aws-sigv4 (~> 1.1)
20+
aws-sdk-s3 (1.119.2)
21+
aws-sdk-core (~> 3, >= 3.165.0)
22+
aws-sdk-kms (~> 1)
23+
aws-sigv4 (~> 1.4)
24+
aws-sigv4 (1.5.2)
25+
aws-eventstream (~> 1, >= 1.0.2)
26+
babosa (1.0.4)
27+
claide (1.1.0)
28+
colored (1.2)
29+
colored2 (3.1.2)
30+
commander (4.6.0)
31+
highline (~> 2.0.0)
32+
declarative (0.0.20)
33+
digest-crc (0.6.4)
34+
rake (>= 12.0.0, < 14.0.0)
35+
domain_name (0.5.20190701)
36+
unf (>= 0.0.5, < 1.0.0)
37+
dotenv (2.8.1)
38+
emoji_regex (3.2.3)
39+
excon (0.99.0)
40+
faraday (1.10.3)
41+
faraday-em_http (~> 1.0)
42+
faraday-em_synchrony (~> 1.0)
43+
faraday-excon (~> 1.1)
44+
faraday-httpclient (~> 1.0)
45+
faraday-multipart (~> 1.0)
46+
faraday-net_http (~> 1.0)
47+
faraday-net_http_persistent (~> 1.0)
48+
faraday-patron (~> 1.0)
49+
faraday-rack (~> 1.0)
50+
faraday-retry (~> 1.0)
51+
ruby2_keywords (>= 0.0.4)
52+
faraday-cookie_jar (0.0.7)
53+
faraday (>= 0.8.0)
54+
http-cookie (~> 1.0.0)
55+
faraday-em_http (1.0.0)
56+
faraday-em_synchrony (1.0.0)
57+
faraday-excon (1.1.0)
58+
faraday-httpclient (1.0.1)
59+
faraday-multipart (1.0.4)
60+
multipart-post (~> 2)
61+
faraday-net_http (1.0.1)
62+
faraday-net_http_persistent (1.2.0)
63+
faraday-patron (1.0.0)
64+
faraday-rack (1.0.0)
65+
faraday-retry (1.0.3)
66+
faraday_middleware (1.2.0)
67+
faraday (~> 1.0)
68+
fastimage (2.2.6)
69+
fastlane (2.212.1)
70+
CFPropertyList (>= 2.3, < 4.0.0)
71+
addressable (>= 2.8, < 3.0.0)
72+
artifactory (~> 3.0)
73+
aws-sdk-s3 (~> 1.0)
74+
babosa (>= 1.0.3, < 2.0.0)
75+
bundler (>= 1.12.0, < 3.0.0)
76+
colored
77+
commander (~> 4.6)
78+
dotenv (>= 2.1.1, < 3.0.0)
79+
emoji_regex (>= 0.1, < 4.0)
80+
excon (>= 0.71.0, < 1.0.0)
81+
faraday (~> 1.0)
82+
faraday-cookie_jar (~> 0.0.6)
83+
faraday_middleware (~> 1.0)
84+
fastimage (>= 2.1.0, < 3.0.0)
85+
gh_inspector (>= 1.1.2, < 2.0.0)
86+
google-apis-androidpublisher_v3 (~> 0.3)
87+
google-apis-playcustomapp_v1 (~> 0.1)
88+
google-cloud-storage (~> 1.31)
89+
highline (~> 2.0)
90+
json (< 3.0.0)
91+
jwt (>= 2.1.0, < 3)
92+
mini_magick (>= 4.9.4, < 5.0.0)
93+
multipart-post (~> 2.0.0)
94+
naturally (~> 2.2)
95+
optparse (~> 0.1.1)
96+
plist (>= 3.1.0, < 4.0.0)
97+
rubyzip (>= 2.0.0, < 3.0.0)
98+
security (= 0.1.3)
99+
simctl (~> 1.6.3)
100+
terminal-notifier (>= 2.0.0, < 3.0.0)
101+
terminal-table (>= 1.4.5, < 2.0.0)
102+
tty-screen (>= 0.6.3, < 1.0.0)
103+
tty-spinner (>= 0.8.0, < 1.0.0)
104+
word_wrap (~> 1.0.0)
105+
xcodeproj (>= 1.13.0, < 2.0.0)
106+
xcpretty (~> 0.3.0)
107+
xcpretty-travis-formatter (>= 0.0.3)
108+
gh_inspector (1.1.3)
109+
google-apis-androidpublisher_v3 (0.37.0)
110+
google-apis-core (>= 0.11.0, < 2.a)
111+
google-apis-core (0.11.0)
112+
addressable (~> 2.5, >= 2.5.1)
113+
googleauth (>= 0.16.2, < 2.a)
114+
httpclient (>= 2.8.1, < 3.a)
115+
mini_mime (~> 1.0)
116+
representable (~> 3.0)
117+
retriable (>= 2.0, < 4.a)
118+
rexml
119+
webrick
120+
google-apis-iamcredentials_v1 (0.17.0)
121+
google-apis-core (>= 0.11.0, < 2.a)
122+
google-apis-playcustomapp_v1 (0.13.0)
123+
google-apis-core (>= 0.11.0, < 2.a)
124+
google-apis-storage_v1 (0.19.0)
125+
google-apis-core (>= 0.9.0, < 2.a)
126+
google-cloud-core (1.6.0)
127+
google-cloud-env (~> 1.0)
128+
google-cloud-errors (~> 1.0)
129+
google-cloud-env (1.6.0)
130+
faraday (>= 0.17.3, < 3.0)
131+
google-cloud-errors (1.3.1)
132+
google-cloud-storage (1.44.0)
133+
addressable (~> 2.8)
134+
digest-crc (~> 0.4)
135+
google-apis-iamcredentials_v1 (~> 0.1)
136+
google-apis-storage_v1 (~> 0.19.0)
137+
google-cloud-core (~> 1.6)
138+
googleauth (>= 0.16.2, < 2.a)
139+
mini_mime (~> 1.0)
140+
googleauth (1.5.0)
141+
faraday (>= 0.17.3, < 3.a)
142+
jwt (>= 1.4, < 3.0)
143+
memoist (~> 0.16)
144+
multi_json (~> 1.11)
145+
os (>= 0.9, < 2.0)
146+
signet (>= 0.16, < 2.a)
147+
highline (2.0.3)
148+
http-cookie (1.0.5)
149+
domain_name (~> 0.5)
150+
httpclient (2.8.3)
151+
jmespath (1.6.2)
152+
json (2.6.3)
153+
jwt (2.7.0)
154+
memoist (0.16.2)
155+
mini_magick (4.12.0)
156+
mini_mime (1.1.2)
157+
multi_json (1.15.0)
158+
multipart-post (2.0.0)
159+
nanaimo (0.3.0)
160+
naturally (2.2.1)
161+
optparse (0.1.1)
162+
os (1.1.4)
163+
plist (3.7.0)
164+
public_suffix (5.0.1)
165+
rake (13.0.6)
166+
representable (3.2.0)
167+
declarative (< 0.1.0)
168+
trailblazer-option (>= 0.1.1, < 0.2.0)
169+
uber (< 0.2.0)
170+
retriable (3.1.2)
171+
rexml (3.2.5)
172+
rouge (2.0.7)
173+
ruby2_keywords (0.0.5)
174+
rubyzip (2.3.2)
175+
security (0.1.3)
176+
signet (0.17.0)
177+
addressable (~> 2.8)
178+
faraday (>= 0.17.5, < 3.a)
179+
jwt (>= 1.5, < 3.0)
180+
multi_json (~> 1.10)
181+
simctl (1.6.10)
182+
CFPropertyList
183+
naturally
184+
terminal-notifier (2.0.0)
185+
terminal-table (1.8.0)
186+
unicode-display_width (~> 1.1, >= 1.1.1)
187+
trailblazer-option (0.1.2)
188+
tty-cursor (0.7.1)
189+
tty-screen (0.8.1)
190+
tty-spinner (0.9.3)
191+
tty-cursor (~> 0.7)
192+
uber (0.1.0)
193+
unf (0.1.4)
194+
unf_ext
195+
unf_ext (0.0.8.2)
196+
unicode-display_width (1.8.0)
197+
webrick (1.8.1)
198+
word_wrap (1.0.0)
199+
xcodeproj (1.22.0)
200+
CFPropertyList (>= 2.3.3, < 4.0)
201+
atomos (~> 0.1.3)
202+
claide (>= 1.0.2, < 2.0)
203+
colored2 (~> 3.1)
204+
nanaimo (~> 0.3.0)
205+
rexml (~> 3.2.4)
206+
xcpretty (0.3.0)
207+
rouge (~> 2.0.7)
208+
xcpretty-travis-formatter (1.0.1)
209+
xcpretty (~> 0.2, >= 0.0.7)
210+
211+
PLATFORMS
212+
universal-darwin-21
213+
x86_64-linux
214+
215+
DEPENDENCIES
216+
fastlane
217+
218+
BUNDLED WITH
219+
2.2.6

LICENSE.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
The MIT License (MIT)
2+
3+
Copyright (c) 2023 Code Inc
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
6+
7+
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
8+
9+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

README.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
[![Release](https://img.shields.io/github/v/release/code-wallet/code-android.svg)](https://github.com/code-wallet/code-android/releases/latest)
2+
[![GitHub License](https://img.shields.io/badge/license-MIT-lightgrey.svg?style=flat)](https://github.com/code-wallet/code-android/blob/main/LICENSE.md)
3+
4+
# Code Android App
5+
6+
[Code](https://getcode.com) is a mobile wallet app leveraging self-custodial blockchain technology to deliver an instant, global, and private payments experience.
7+
8+
Code is currently live on [iOS](https://apps.apple.com/ca/app/code-wallet/id1562384846).
9+
10+
Android is still a work in progress. The foundation is in place but there are several known issues impacting stability and performance, and is not yet at feature parity with iOS.
11+
12+
## Contributing
13+
14+
Anyone is welcome to make code contributions through a PR.
15+
16+
The best way to share general feedback is on [Discord](https://discord.gg/T8Tpj8DBFp).
17+
18+
This will evolve as we continue to build out the platform and open up more ways to contribute.
19+
20+
## Getting Help
21+
22+
If you have any additional questions or need help integrating Code into your website or application, please reach out to us on [Discord](https://discord.gg/T8Tpj8DBFp) or [Twitter](https://twitter.com/getcode).

0 commit comments

Comments
 (0)