Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
510 commits
Select commit Hold shift + click to select a range
6bdf5a8
Remove slippage in Exchange panel
WietseWind Mar 6, 2025
acb10e7
Spam TX label +opacity not style based
WietseWind Mar 6, 2025
6a43d25
Improve dark/light rendering
WietseWind Mar 6, 2025
713b935
Hide filter on reorder, clean filter options on text enter/reverse
WietseWind Mar 6, 2025
40eb36b
Wait removing boot splash till initial render is done (prevent white …
WietseWind Mar 6, 2025
acdff7f
Allow live theme switching
WietseWind Mar 6, 2025
54c267e
build 75 - Live theme switching
WietseWind Mar 6, 2025
1fb79aa
Store SwapNetworks from backend @ profile
WietseWind Mar 6, 2025
a0ab04d
Live style switching without force reload
WietseWind Mar 6, 2025
7ada2b3
Fix network switch memleak
WietseWind Mar 6, 2025
e902d74
Add method to navigate to tab
WietseWind Mar 6, 2025
9467b84
Navigate home after account import
WietseWind Mar 6, 2025
49893e2
Cleanup test @ Styleservice
WietseWind Mar 6, 2025
fe53027
Fix seed alignment error
WietseWind Mar 6, 2025
899dd2e
Bump version build 76
WietseWind Mar 6, 2025
8b4d137
Settings styling & alignment
WietseWind Mar 6, 2025
a95d83f
Move brightness to state
WietseWind Mar 6, 2025
31654b0
Passing Timestamps for re-render force
WietseWind Mar 6, 2025
0621b6a
my accounts to accounts
WietseWind Mar 6, 2025
ffd6125
Fix currency picker dark mode caret
WietseWind Mar 6, 2025
2277e56
Rasterize circle selector icons
WietseWind Mar 6, 2025
eed7b9b
Wait theme switch if modal present, instant on settings
WietseWind Mar 7, 2025
40e830f
Auto theme switching
WietseWind Mar 7, 2025
df484ee
77 - auto dark mode switching
WietseWind Mar 7, 2025
0da51fd
Fix long token names on small screens (token dialog
WietseWind Mar 7, 2025
72fc6c7
Fix build “Xaman empty dSYM file detected, dSYM was created with an e…
WietseWind Mar 7, 2025
e94e15d
Fix alt header on SWAP xApp Panel consistently
WietseWind Mar 7, 2025
0afb265
Add radius to filter btns
WietseWind Mar 7, 2025
368cdcf
Dynamic (user based) swap
WietseWind Mar 7, 2025
2033410
Fix header styling (margin left)
WietseWind Mar 7, 2025
2b0622e
Account Panel header allignment
WietseWind Mar 7, 2025
1ce5d99
New build 78
WietseWind Mar 7, 2025
2e264cf
Generate universal APK too
WietseWind Mar 7, 2025
b6f12fa
/
WietseWind Mar 7, 2025
380e9cc
Globally wait till it’s safe to switch theme
WietseWind Mar 7, 2025
65a1c32
Build 79
WietseWind Mar 7, 2025
4fd0023
Fix no interaction with Token Remove panel
WietseWind Mar 7, 2025
e6b14ca
Fix account. import/add navigation: always go home
WietseWind Mar 7, 2025
43832c7
Do not reset root @ going to Home Tab
WietseWind Mar 7, 2025
4b8e561
Allow for Detox session Reuse
WietseWind Mar 7, 2025
6c1a167
Fix strong pincode detection @ new PIN pad
WietseWind Mar 7, 2025
e2ded9b
Fix all E2E tests after finding several issues :)
WietseWind Mar 7, 2025
f024403
Build 80
WietseWind Mar 7, 2025
383b305
Jailbreak test back on
WietseWind Mar 7, 2025
40042ba
4.0.0 RC
WietseWind Mar 7, 2025
9c3ecb8
Fix android switch (thanks tests @n3tc4t)
WietseWind Mar 7, 2025
878b7bd
Update tests (layout) after recent 4.0.l0 changes
WietseWind Mar 7, 2025
56da609
4.0.0 RC + Tests
WietseWind Mar 7, 2025
c0ff9cc
Add xCode test suite
WietseWind Mar 9, 2025
b1a5cb7
Fix event list refresh
WietseWind Mar 9, 2025
0d1dd22
Update ios.yml
WietseWind Mar 9, 2025
88e3968
Update ios.yml
WietseWind Mar 9, 2025
42f666d
Update ios.yml
WietseWind Mar 9, 2025
52e1353
xcresult ios workdir
WietseWind Mar 10, 2025
dd15fdf
Build 82
WietseWind Mar 10, 2025
6d3bad3
Remove “the” prefix before network name
WietseWind Mar 10, 2025
6d52767
Fix test case: invalid_json error msg
WietseWind Mar 10, 2025
e0f8e91
Build 82 + fix tests
WietseWind Mar 10, 2025
7193c4f
Add vibration to event list refresh
WietseWind Mar 10, 2025
a339f4a
Fix xApp theme on OS auto switch dark mode
WietseWind Mar 10, 2025
727ea91
Improve filter handling
WietseWind Mar 10, 2025
026faf2
Btn Styling request panel
WietseWind Mar 10, 2025
224569e
More styling @ panels
WietseWind Mar 10, 2025
d9ee8f5
Build 83
WietseWind Mar 10, 2025
edbd9ab
Build 83
WietseWind Mar 10, 2025
3c1669a
slidoapp/xcresulttool@v3.1.0 supports xcode 16
WietseWind Mar 10, 2025
dd730f4
Fix tests
WietseWind Mar 10, 2025
78a289e
Node 20, otherwise Jest fails
WietseWind Mar 10, 2025
68af8e3
Update es.json
Ekiserrepe Mar 10, 2025
4eb392c
More flexible jest on API error invalid JSON
WietseWind Mar 10, 2025
058a89b
Fix Jest on JSON error test
WietseWind Mar 10, 2025
5668d11
Merge pull request #3 from Ekiserrepe/main
WietseWind Mar 10, 2025
b6909c4
Fix push toggle @ account settings alignment
WietseWind Mar 11, 2025
361b967
All webviews: use current theme if on auto mode
WietseWind Mar 11, 2025
6af7d2d
Change settings order, remove Credits
WietseWind Mar 11, 2025
aef9790
Unique action button @ TX Event page
WietseWind Mar 11, 2025
20dc315
Minor UI fixes post 4.0.0
WietseWind Mar 11, 2025
aedf8b7
Build 84
WietseWind Mar 11, 2025
fc8a3af
4.0.1
WietseWind Mar 11, 2025
fe6fb87
Merge overlay options instead of replace
WietseWind Mar 14, 2025
4d7d7ed
Improve android swipe btn performance
WietseWind Mar 14, 2025
3f23016
Disable unvetted token interaction msg
WietseWind Mar 14, 2025
b562447
Fix TrustLine interaction (remove/…) on Android & iOS
WietseWind Mar 14, 2025
35f4d9d
Fix family seed text input colour
WietseWind Mar 14, 2025
2de06d4
Build 85, fixes TrustLine removal, secret text colour
WietseWind Mar 14, 2025
cc15762
Disable share brightness
WietseWind Mar 14, 2025
ac27c62
401 85
WietseWind Mar 14, 2025
8ff233e
Some fixes and untranslated sentences.
Ekiserrepe Mar 14, 2025
f7486ec
Merge branch 'WietseWind:main' into main
Ekiserrepe Mar 14, 2025
fb155de
Fix text colour on tx loading indicator
WietseWind Mar 14, 2025
17a2857
Do not show own reserve if incoming Escrow or Check
WietseWind Mar 14, 2025
75613a8
Working Escrow cancel/finish on creation with Check instead of Sequence
WietseWind Mar 14, 2025
50e022e
Check cash: default full amount @ approve screen
WietseWind Mar 14, 2025
2d63561
Build 86
WietseWind Mar 14, 2025
418c493
401
WietseWind Mar 14, 2025
de64fdc
Merge branch 'develop' into wietsewind-develop
WietseWind Mar 14, 2025
0af4db0
Merge pull request #153 from XRPL-Labs/wietsewind-develop
WietseWind Mar 14, 2025
f1c7f27
Merge pull request #4 from Ekiserrepe/main
WietseWind Mar 14, 2025
953318f
Merge branch 'wietsewind-develop' into xrpllabs-wietsewind-develop
WietseWind Mar 14, 2025
17601e1
Merge pull request #154 from XRPL-Labs/wietsewind-develop
WietseWind Mar 14, 2025
5394efd
Move drop shadow to native
WietseWind Mar 15, 2025
ff733cb
Force re-rendering of native asset icon
WietseWind Mar 15, 2025
ab9f5bd
Fix drop shadow without plugin
WietseWind Mar 15, 2025
c53a32b
Review Panel shadow fix
WietseWind Mar 15, 2025
7127def
No address suggest on Destination search
WietseWind Mar 15, 2025
45f99bf
Fix clunky slider behaviour
WietseWind Mar 15, 2025
006c59b
Build 87
WietseWind Mar 15, 2025
4a2bb00
Merge branch 'wietsewind-develop' into xrpl-labs-develop
WietseWind Mar 15, 2025
d74a516
Fix request panel handle location
WietseWind Mar 17, 2025
b9a5d89
Block spam in IOU currencies
WietseWind Mar 17, 2025
34ae9fd
Feedback on refresh xApp list
WietseWind Mar 17, 2025
e2b4155
Fix action button key mapping
WietseWind Mar 17, 2025
cf478df
Fix share/browse for non-CTID transactions (offers, etc.)
WietseWind Mar 17, 2025
1a268a9
4.0.2 build 88
WietseWind Mar 17, 2025
886c7fd
Put vetted currency check back (ugly) to fix timing issue
WietseWind Mar 20, 2025
c144bc3
Do not cache offer status, it causes problems in retry-signing
WietseWind Mar 20, 2025
4e5800c
Cleaner service fee setting & no re-render
WietseWind Mar 20, 2025
fbfc013
Build 89
WietseWind Mar 20, 2025
86ccc49
Add keyboard number labels
WietseWind Mar 20, 2025
d6ee631
Make Pin Pad, lock screen and Secret Numbers work with VoiceOver
WietseWind Mar 20, 2025
16974e0
Build 91: fix Android Fold icon size @ xApp Dock & alignment of Recei…
WietseWind Mar 24, 2025
277c44c
4.0.3
WietseWind Mar 24, 2025
56fb915
Pinpad alpha color dark mode
WietseWind Mar 25, 2025
1c3b2aa
Build 92
WietseWind Mar 25, 2025
e1043d6
Update LICENSE
WietseWind Apr 6, 2025
45e5f89
Fix push logger msg
WietseWind Apr 7, 2025
74b2ed4
Change spam msg
WietseWind Apr 9, 2025
78886f7
Fix caret @ account picker @ xApp account switch
WietseWind Apr 9, 2025
58b6ae5
No spam msg/icon on contact
WietseWind Apr 9, 2025
f6e0461
4.0.5 - Build 93
WietseWind Apr 9, 2025
22a83cf
Fix multi account error on finding if spam account is in contacts
WietseWind Apr 9, 2025
77e7b0c
fix dark mode tx loading text color
WietseWind Apr 9, 2025
3613fcd
Fix avatar non scam cache on is contact
WietseWind Apr 9, 2025
babbc95
Fix crash on mising langitem
WietseWind Apr 29, 2025
f8a4966
Fix send destination text colour dark mode as per #95037
WietseWind Apr 29, 2025
03dfc35
Transfer Fee miscalculation fix
WietseWind May 6, 2025
6918752
4.0.6
WietseWind May 6, 2025
48482c1
Add Token Browser xApp @ XRPL Mainnet
WietseWind May 6, 2025
279e479
Xaman “Add a token"
WietseWind May 9, 2025
1c5c2da
Massive HTTP improvements
WietseWind May 13, 2025
177348b
Implementing back/forward swipe on Android in WebView
WietseWind May 13, 2025
6cbbf2b
Add #15 Allow for TrustSet with reusable (payloadless)
WietseWind May 13, 2025
3eaa635
Update xrpl-accountlib (new definitions)
WietseWind May 13, 2025
7d28d2a
Build 96
WietseWind May 13, 2025
3deaa27
Handle different network
WietseWind May 13, 2025
3b9e78b
Account activation: no “From other account” if 1 acc
WietseWind May 13, 2025
7509c78
Show account activcation xApp as native modal
WietseWind May 13, 2025
b756ff4
Degen Mode Account Generation + Back Up
WietseWind May 14, 2025
bcb7c04
Degen onboarding labels
WietseWind May 14, 2025
a1b6b46
DevMode Back up alignment
WietseWind May 14, 2025
165dbfa
Fix 16kb
WietseWind May 14, 2025
8fca49c
Add xaman:// protocol
WietseWind May 15, 2025
3fa0425
Fix crash on network switch while on non network mainnet #18
WietseWind May 15, 2025
7b8129d
#22 Network in request link
WietseWind May 18, 2025
d803690
#22 QR as well + fixes
WietseWind May 18, 2025
36b5a02
Build 101
WietseWind May 18, 2025
3b2da94
#23 Token panel times
WietseWind May 18, 2025
b2a9a73
Update translations (select curve) as per xrplwin
WietseWind May 21, 2025
817709d
Add payment request link network/issuer/pathing support
WietseWind May 22, 2025
67ae739
Add #24
WietseWind May 22, 2025
8373593
Selected destination account under title
WietseWind May 22, 2025
8158fb0
Build 103 (406 done?)
WietseWind May 22, 2025
f4767bc
Update Hook Explainer node param
WietseWind May 23, 2025
e7429c5
Build 104
WietseWind May 23, 2025
5b26f45
set remarks
dangell7 May 28, 2025
40ef15e
Merge pull request #27 from dangell7/main
WietseWind Jun 2, 2025
64bfd62
Update Hook explainer frame
WietseWind Jun 2, 2025
10eb619
z
WietseWind Jun 2, 2025
b1dfec2
Hooks epxlainer no title and no height by default
WietseWind Jun 4, 2025
a6b5107
build 106
WietseWind Jun 4, 2025
fe94b36
NFTokenModify native
WietseWind Jun 11, 2025
a736168
NFTokenModify Translations
WietseWind Jun 11, 2025
22644c8
Hook Explainer undefined fallback
WietseWind Jun 11, 2025
d2c7220
4.1.2 NFTokenModify
WietseWind Jun 11, 2025
3a18932
Allow for tx specific tx json (for signing) filter
WietseWind Jun 12, 2025
11882f3
4.1.3 build 109
WietseWind Jun 12, 2025
8dfedf0
Update xrpl-accountlib for binary codec prerelease adding MPTokenModi…
WietseWind Jun 12, 2025
45a8cd7
Fix Hook Explainer WebView Crash on Android
WietseWind Jun 13, 2025
a730238
Fully visible currency rate fetch warning
WietseWind Jun 16, 2025
b51901d
Add Hook Rejection msg for event list
WietseWind Jun 16, 2025
a3714c9
Show Hook Rejected TX in event list
WietseWind Jun 16, 2025
9d201b4
4.1.4 build 110 - Fee fetch alert & Show rejected Hook tx in Event list
WietseWind Jun 16, 2025
77b87fb
Fix error on cross currenecy request
WietseWind Jun 17, 2025
66f2ef3
Fix decimal places request in XRP
WietseWind Jun 17, 2025
942a2c9
Show 0 balance IOUs in request list as wel
WietseWind Jun 17, 2025
3b37cdf
414 111
WietseWind Jun 17, 2025
a3edb67
Custom DNS on WebSocket IPv6
WietseWind Jun 20, 2025
4ebc2c9
Remove large AAR files from tracking and add to gitignore
WietseWind Jun 20, 2025
953847e
Build 113 with Android IPv6 fix
WietseWind Jun 20, 2025
1adb70f
115
WietseWind Jun 20, 2025
1477747
4.2.0 build 115 (prep new release)
WietseWind Jun 25, 2025
a9e544d
Update security config
WietseWind Jun 25, 2025
87b9d92
Show Hook Errors
WietseWind Jun 25, 2025
1fd34d4
Update TX info & flags for 2.5.0 (binary)
WietseWind Jun 25, 2025
4cb60c6
Fix @TequDev comment as per #35
WietseWind Jun 25, 2025
e09458c
Fix JSON tree index
WietseWind Jun 25, 2025
44a543a
Add #33 DelegateSet
WietseWind Jun 26, 2025
b7995ce
DelegateSet translations
WietseWind Jun 26, 2025
d8e9847
Build 116 - adds Delegation
WietseWind Jun 26, 2025
e2c6b57
Fix lang typo
WietseWind Jun 26, 2025
8e90803
Build 117
WietseWind Jun 27, 2025
de7b0da
Delegate: Improve event labels
WietseWind Jun 27, 2025
5f950be
Add #38 add first token btn
WietseWind Jun 27, 2025
57f7df3
Add #28 message on queued tx
WietseWind Jun 28, 2025
d788f84
Add quality in/out on TrustSet #40
WietseWind Jun 29, 2025
1464962
Developer Mode: show TX JSON tree
WietseWind Jun 29, 2025
28a184d
Fix #41 - Do not add but subtract Locked Balance (escrowed)
WietseWind Jun 30, 2025
93f6b66
#42 Performance: only fetch TLs for account selected on boot
WietseWind Jun 30, 2025
46a1149
Show inner dot on selected node
WietseWind Jun 30, 2025
bee896a
Allow defining JSON Tree collapse level
WietseWind Jun 30, 2025
f58691f
Improve memo display #43
WietseWind Jun 30, 2025
b4f87c2
JSON Tree on > 1 prop not >2 prop
WietseWind Jun 30, 2025
c74ef52
Fix dark/light mode coloring
WietseWind Jun 30, 2025
e44e49d
Fix memo title coloring & add tap to clipboard copy
WietseWind Jun 30, 2025
fe60127
Fix modal text colour after theme dark/light switch
WietseWind Jun 30, 2025
5560cf2
Fix #46 Android 35 SDK + scaling changes
WietseWind Jul 2, 2025
05eedfa
Build 4.2.0 118
WietseWind Jul 2, 2025
635deab
Detect third party tx that didn’t affect balance changes #45
WietseWind Jul 2, 2025
bb5c008
Fix #50 Regular Key hide spam
WietseWind Jul 11, 2025
ee46952
Fix queued message on initially queued then processed transaction wit…
WietseWind Jul 11, 2025
f9fede6
Do not show wss:// prefix for nodes in network switch list
WietseWind Jul 11, 2025
3b1fd11
#51 Fix
WietseWind Jul 16, 2025
c2f9065
Fix activation network name
WietseWind Jul 16, 2025
dbc56c2
NL
WietseWind Jul 16, 2025
721b8a3
Update accountlib
WietseWind Jul 16, 2025
8a2861f
Event container padding/margin
WietseWind Jul 16, 2025
457f676
Fix #53 - long token codes in event list @ Swap
WietseWind Aug 21, 2025
054910a
4.2.0 Build 119
WietseWind Aug 21, 2025
43be7de
Fix android build
WietseWind Aug 21, 2025
6721104
Fix Android 4.2.0 Tangem scanning crash
WietseWind Aug 26, 2025
744ee96
iOS Update (noop)
WietseWind Aug 26, 2025
8061031
Fix Android 4.2.0 lock overlay edge to edge
WietseWind Aug 26, 2025
11d955e
Build 121
WietseWind Aug 26, 2025
c827ef8
Add Credential amendment support
WietseWind Aug 28, 2025
f04a8e6
4.2.1 - Adds Credentials
WietseWind Aug 28, 2025
ad7c293
4.2.1
WietseWind Aug 28, 2025
f0480c8
Fix swipe touch area over memo
WietseWind Aug 29, 2025
587650a
Improve credential display @ PreAuth
WietseWind Aug 29, 2025
c36486e
Add authorized credentials to depositauth commands
WietseWind Aug 29, 2025
b62b86a
Credential support: PayChan claim
WietseWind Aug 29, 2025
da6a1d3
AccountDelete: credentials
WietseWind Aug 29, 2025
1789369
Escrow Finish credentials
WietseWind Aug 29, 2025
923475c
Account delete: credential display @ approval screen
WietseWind Aug 29, 2025
99f88c9
Add depositauth preflight check #55
WietseWind Aug 29, 2025
1ab1de9
Auto select Credential on manual send flow #56
WietseWind Aug 29, 2025
edcdf74
Fix #21
WietseWind Aug 29, 2025
5b03a28
Fix #19 Edit amount on Check IOU
WietseWind Aug 29, 2025
4cec936
Offer send Check / Remit on non existing TL #57
WietseWind Aug 29, 2025
53f33bb
Build 1.2.3x
WietseWind Aug 29, 2025
8d2f6d3
Merge pull request #155 from XRPL-Labs/wietsewind-develop
WietseWind Aug 30, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .detoxrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ module.exports = {
'ios.simulator': {
type: 'ios.simulator',
headless: process.env.CI ? true : undefined,
device: { type: 'iPhone 15 Pro' },
device: { type: 'iPhone 16 Pro' },
},
'android.emulator': {
type: 'android.apk',
Expand Down
2 changes: 1 addition & 1 deletion .github/actions/prepare-env/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ runs:
- name: Node
uses: actions/setup-node@v4
with:
node-version: 18.x
node-version: 20.x

- name: Cache node_modules/
uses: actions/cache@v4
Expand Down
15 changes: 11 additions & 4 deletions .github/workflows/ios.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:
runs-on: [ self-hosted, macOS, ARM64 ]
strategy:
matrix:
ios: [ 17.4 ]
ios: [ 18.3.1 ]
steps:
- name: Checkout
uses: actions/checkout@v4
Expand All @@ -29,10 +29,17 @@ jobs:
- name: Run tests
working-directory: ios
run: |
xcodebuild -quiet -workspace Xaman.xcworkspace -scheme Xaman -sdk iphonesimulator -destination 'platform=iOS Simulator,name=iPhone 15,OS=${{ matrix.ios }}' -resultBundlePath TestResults test

xcodebuild -quiet -workspace Xaman.xcworkspace -scheme Xaman -sdk iphonesimulator -destination 'platform=iOS Simulator,name=iPhone 16 Pro,OS=${{ matrix.ios }}' -resultBundlePath TestResults.xcresult test
echo "Exit code: $?"

- name: Check for xcresult
working-directory: ios
run: |
ls -la
if [ -d "TestResults.xcresult" ]; then echo "Found TestResults.xcresult"; else echo "TestResults.xcresult not found"; fi

- name: Test Summary
uses: kishikawakatsumi/xcresulttool@v1
uses: slidoapp/xcresulttool@v3.1.0
with:
path: ios/TestResults.xcresult
if: success() || failure()
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -75,3 +75,9 @@ e2e/artifacts/*

# Temporary files created by Metro to check the health of the file watcher
.metro-health-check*

# Imageprepare scripts
scripts/imageprepare-app/*.svg
scripts/imageprepare-app/*.png
scripts/imageprepare-app/*/*
android/app/libs/*.aar
4 changes: 3 additions & 1 deletion LICENSE
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,11 @@ CUSTOM (dual) License (!)

Copyright (c) 2019 The Integrators B.V. (XRPL Labs)

> If in doubt about / questions regarding Xumm licenses: please contact XRPL Labs: w@xrpl-labs.com
> If in doubt about / questions regarding Xaman (formerly Xumm) licenses:
please contact XRPL Labs: w@xrpl-labs.com

# For public / commercial / beta use

### Eg. XRPL forks, public projects, etc.

Permission required by XRPL Labs (The Integrators BV (NL)).
Expand Down
9 changes: 6 additions & 3 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

OS := $(shell sh -c 'uname -s 2>/dev/null')
VARIANT ?= Debug
SIMULATOR ?= iPhone 15 Pro Max
SIMULATOR ?= iPhone 16 Pro Max
DETOX_CONFIGURATION ?= ios.simulator+xaman.ios

# Function definitions ============================
Expand Down Expand Up @@ -118,12 +118,15 @@ build-android: | stop .pre-run .pre-android ## Build the Android app
test: | .pre-run
@npm run test

test-e2e: | .pre-run ## Runs e2e tests
test-e2e: ## Runs e2e tests
@npx detox clean-framework-cache;
@npx detox build-framework-cache;
@npx detox build e2e --configuration ${DETOX_CONFIGURATION} --if-missing;
@npx detox build e2e --configuration ${DETOX_CONFIGURATION};
@npx cucumber-js ./e2e test;

retest-e2e: ## Runs e2e tests
@DETOX_LOGLEVEL=trace DETOX_REUSE=yes npx cucumber-js ./e2e test;

bump-build-number: ## Bump build number for Android and iOS
@./scripts/bump-build-number.sh;

Expand Down
28 changes: 28 additions & 0 deletions Xaman.xctestplan
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
{
"configurations" : [
{
"id" : "2E1A5BBE-F248-49BB-8B0E-F17B20BBA391",
"name" : "Test Scheme Action",
"options" : {

}
}
],
"defaultOptions" : {
"targetForVariableExpansion" : {
"containerPath" : "container:Xaman.xcodeproj",
"identifier" : "13B07F861A680F5B00A75B9A",
"name" : "Xaman"
}
},
"testTargets" : [
{
"target" : {
"containerPath" : "container:Xaman.xcodeproj",
"identifier" : "00E356ED1AD99517003FC87E",
"name" : "XamanTests"
}
}
],
"version" : 1
}
142 changes: 121 additions & 21 deletions android/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,12 @@ apply plugin: "org.jetbrains.kotlin.android"
apply plugin: "com.facebook.react"
apply plugin: 'com.google.gms.google-services'
apply plugin: "com.google.firebase.crashlytics"
// apply plugin: 'com.google.android.gms.strict-version-matcher-plugin

import com.android.build.OutputFile

def canonicalVersionName = "3.2.0"
def canonicalVersionCode = 34
def canonicalVersionName = "4.2.1"
def canonicalVersionCode = 123

// NOTE: DO NOT change postFixSize value, this is for handling legacy method for handling the versioning in android
def postFixSize = 30_000
Expand Down Expand Up @@ -123,11 +124,22 @@ android {
testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner'
}

bundle {
language {
enableSplit = true
}
density {
enableSplit = true
}
abi {
enableSplit = true
}
}
splits {
abi {
reset()
enable enableSeparateBuildPerCPUArchitecture
universalApk false // If true, also generate a universal APK
universalApk true // If true, also generate a universal APK
include(*reactNativeArchitectures())
}
}
Expand Down Expand Up @@ -191,42 +203,130 @@ android {

}
}

packagingOptions {
jniLibs {
useLegacyPackaging = false
}
}
}

dependencies {
// The version of react-native is set by the React Native Gradle Plugin
implementation("com.facebook.react:react-android")

// For animated GIF support
implementation 'com.facebook.fresco:animated-gif:2.0.0'

// Use local React Native AAR files instead of the prebuilt ones
debugImplementation files('libs/ReactAndroid-debug.aar')
releaseImplementation files('libs/ReactAndroid-release.aar')

// React Native Core Dependencies (that your AAR might be missing)
implementation 'com.facebook.fbjni:fbjni:0.5.1'
implementation 'com.facebook.soloader:soloader:0.10.5'
implementation 'com.facebook.yoga:proguard-annotations:1.19.0'

// Complete OkHttp3 dependency set
implementation 'com.squareup.okhttp3:okhttp:4.12.0'
implementation 'com.squareup.okhttp3:okhttp-urlconnection:4.12.0'
implementation 'com.squareup.okhttp3:logging-interceptor:4.12.0'
implementation 'com.squareup.okio:okio:3.6.0'
implementation 'com.squareup.okhttp3:okhttp-tls:4.12.0'

// Fresco dependencies
implementation 'com.facebook.fresco:fresco:3.1.3'
implementation 'com.facebook.fresco:drawee:3.1.3'
implementation 'com.facebook.fresco:imagepipeline:3.1.3'
implementation 'com.facebook.fresco:fbcore:3.1.3'
implementation('com.facebook.fresco:animated-gif:3.1.3') {
exclude group: 'com.facebook.react', module: 'react-android'
}

// Additional Fresco backends that might be needed
implementation 'com.facebook.fresco:imagepipeline-okhttp3:3.1.3'
implementation 'com.facebook.fresco:memory-type-ashmem:3.1.3'
implementation 'com.facebook.fresco:memory-type-native:3.1.3'
implementation 'com.facebook.fresco:memory-type-java:3.1.3'

// Jackson JSON processing (React Native uses this heavily)
implementation 'com.fasterxml.jackson.core:jackson-core:2.13.4'
implementation 'com.fasterxml.jackson.core:jackson-annotations:2.13.4'
implementation 'com.fasterxml.jackson.core:jackson-databind:2.13.4'

// JSR-305 annotations for @Nullable, @Nonnull, etc.
implementation 'com.google.code.findbugs:jsr305:3.0.2'

// Facebook Infer annotations
implementation 'com.facebook.infer.annotation:infer-annotation:0.18.0'

// AndroidX annotations
implementation 'androidx.annotation:annotation:1.7.1'
implementation 'androidx.appcompat:appcompat:1.6.1'
implementation 'androidx.core:core:1.12.0'
implementation 'androidx.fragment:fragment:1.6.2'
implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0'

// Hermes/JSC (uncomment the one you're using)
if (hermesEnabled.toBoolean()) {
implementation("com.facebook.react:hermes-android")
} else {
implementation jscFlavor
}

// firebase + messaging

// Additional React Native related dependencies
implementation 'javax.inject:javax.inject:1'

// For React Native's AsyncStorage (if you use it)
implementation 'androidx.sqlite:sqlite:2.4.0'

// For React Native's networking capabilities
implementation 'androidx.webkit:webkit:1.11.0'

// Your existing app-specific dependencies
implementation 'com.google.firebase:firebase-messaging:+'
// biometric authentication
implementation 'com.google.firebase:firebase-common-ktx'
implementation 'com.google.firebase:firebase-analytics-ktx'

implementation "androidx.biometric:biometric:1.1.0"
// qrcode generate
implementation 'com.github.kenglxn.QRGen:android:2.6.0'
// blur view
implementation 'com.github.Dimezis:BlurView:version-2.0.2'
// WebView
implementation 'androidx.webkit:webkit:1.11.0'
// inApp purchase
implementation 'com.github.Dimezis:BlurView:version-2.0.6'
implementation 'com.android.billingclient:billing:7.0.0'
implementation 'com.google.android.gms:play-services-wallet:19.4.0'
// inApp update
implementation 'com.google.android.play:app-update:2.1.0'
// Other
implementation 'com.google.android.gms:play-services-base:18.4.0'
implementation 'com.google.android.material:material:1.12.0'

// ML Kit dependencies for react-native-camera
// Object detection feature with bundled default classifier
// implementation 'com.google.mlkit:barcode-scanning:17.3.0'
// implementation 'com.google.mlkit:object-detection:17.0.2'

// Object detection feature with custom classifier support
// implementation 'com.google.mlkit:object-detection-custom:17.0.2'

// Face features
// implementation 'com.google.mlkit:face-detection:16.1.7'

implementation 'com.google.mlkit:common:18.7.0'
implementation 'com.google.mlkit:barcode-scanning:17.1.0'
implementation 'com.google.mlkit:vision-common:17.3.0'

// only for running tests
/// implementation 'com.google.mlkit:barcode-scanning:17.2.0'
implementation 'com.google.mlkit:text-recognition:16.0.0'

implementation 'com.google.mlkit:barcode-scanning-common:17.0.0'
implementation 'com.google.mlkit:text-recognition:16.0.0'
implementation 'com.google.mlkit:face-detection:16.1.5'

implementation 'com.google.mlkit:barcode-scanning:17.2.0'
// implementation 'com.google.mlkit:image-labeling:17.0.7'

// Older coroutines so Tangem SDK works
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.5.2'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.5.2'

// Test dependencies
androidTestImplementation 'com.wix:detox:+'
}

apply from: file("../../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesAppBuildGradle(project)

// Exclude React Native from all configurations to avoid conflicts with local AAR
configurations.all {
exclude group: 'com.facebook.react', module: 'react-android'
}
Loading
Loading