Skip to content

🫙 Switching from release branches to tags#222

Merged
kcw-grunt merged 127 commits into
mainfrom
develop
Apr 27, 2026
Merged

🫙 Switching from release branches to tags#222
kcw-grunt merged 127 commits into
mainfrom
develop

Conversation

@kcw-grunt

@kcw-grunt kcw-grunt commented Apr 27, 2026

Copy link
Copy Markdown
Collaborator

📱 Description

This PR switches the Brainwallet Android app from release branch-based versioning to tag-based versioning. It introduces a new Shop Bento section featuring Bitrefill gift card integration with animated gift card displays, adds tutorial navigation routes, and includes numerous UI/UX improvements across multiple screens and locales. The version code is incremented from 202506323 to 202506326, and the release workflow has been updated to support tag-based deployments.

Platform

  • Android

🎯 Type of Change

  • 🐛 Bug fix
  • ✨ New feature
  • 🔧 Refactoring (code change that neither fixes a bug nor adds a feature)
  • 📚 Documentation update
  • 🎨 UI/UX improvement
  • ⚡ Performance improvement
  • 🧪 Test addition or improvement

📋 Changes

New Components Added

  • ShopBentoScreen.kt – New composable screen for the Shop Bento section displaying Bitrefill gift card offerings with dark/light mode support
  • ShopBentoViewModel.kt – MVI ViewModel managing Shop Bento state, country detection via TelephonyManager, and dark mode synchronization from settings
  • ShopBentoState.kt – Data class holding card data, region, country ISO, dark mode flag, and slide animation state
  • ShopBentoEvent.kt – Sealed class defining OnLoad and OnTapShop events for Shop Bento ViewModel
  • GiftCardsComposable.kt – Reusable composable rendering three staggered, animated gift card visuals (Visa, Amazon, JustEat) with tween animations
  • Cards.kt – Three gift card composables (CardVisaComposable, CardAmazonComposable, CardJustEatComposable) using Canvas for gradient rendering and rotation
  • TutorialBentoEvent.kt, TutorialBentoState.kt – MVI state management for tutorial screens
  • TutorialSendBentoScreen.kt, TutorialWalkthroughBentoScreen.kt, TutorialsBentoScreen.kt, TutorialsBentoViewModel.kt – Tutorial UI screens and ViewModel with multi-page pager navigation
  • TutorialSendPage1/2/3.kt, TutorialSendPagerScreen.kt – Composables for send tutorial walkthrough with 3 pages
  • TutorialWalkthroughPage1/2/3/4.kt, TutorialWalkthoughPagerScreen.kt – Composables for general app tutorial with 4 pages
  • WebModalScreen.kt – Generic web view modal for displaying external URLs (Linktree, Bitrefill)
  • Drawable assets – Added logotype_bitrefill_blk.png, logotype_bitrefill_wht.png, store_05.jpg, amazon_logo.png, visa_logo.png, just_eat_logo.png, send_tut_3x.png, sendsetup.png, fruits3.png

Modifications

  • app/build.gradle.kts – Incremented versionCode from 202506323 to 202506326
  • AndroidManifest.xml – Added READ_PHONE_STATE permission for TelephonyManager country detection
  • BWConstants.kt – Added BITREFILL_URL constant with affiliate referral link
  • MainNavigationHost.kt – Replaced MoonPayWeb route with MoonPayBuy, added LinktreeWeb and BitrefillWeb composables, imported WebModalScreen
  • Route.kt – Refactored navigation routes: renamed MoonPayWeb to MoonPayBuy, added TutorialWalkthrough, TutorialSend, BitrefillWeb, and LinktreeWeb routes
  • .github/workflows/notify.yml – Updated release workflow to use tags instead of release branches
  • Compose UI files (BentoBottomNavBar.kt, CalloutWithPointers.kt, MoonPayButtonCallout.kt, MainScreen.kt, Gradient.kt) – Updated to support new Shop and Tutorial bentosections
  • String resources (strings.xml in 24 locales) – Added translations for shop_tagline and new tutorial/bento labels across all supported languages (ar, de, es, fa, fr, hi, in, it, ja, ko, nl, pa, pl, pt-rBR, pt, ru, sv, th, tr, uk, zh-rCN, zh-rTW)
  • Test files (BWSenderTest.kt, ShopBentoViewModelTest.kt) – Updated and added tests for Shop Bento ViewModel and sender functionality

Removals

  • FavouritesBentoScreen.kt – Removed legacy Favourites bento section (156 lines) to consolidate into unified Shop section

📊 Statistics

  • Additions: 5620 lines
  • Deletions: 3616 lines
  • Files Changed: 68
  • Commits: 100

🎯 Reviewers

@kcw-grunt, @josikie


kcw-grunt and others added 30 commits March 30, 2025 10:50
🚀[Release v4.4.1] Merge into Develop
This reverts commit 4e252ac.

# Conflicts:
#	app/src/main/java/com/brainwallet/tools/manager/APIManager.kt
This reverts commit 4e252ac.

# Conflicts:
#	app/src/main/java/com/brainwallet/tools/manager/APIManager.kt
fix: race condition when clear shared prefs values after wipeAll
from the new peer discovery (v4.2.0)
* chore: update core submodule

* chore: resolve conflict

* Update build.gradle.kts

version and code bump

* chore: for now at BRPeerManager.wrapConnectV2 only using connect, since the core using hardcoded peers

* fix: fix write down confirm screen (#63)

* fix: fix write down confirm screen

* fix: fix allow seed word item not unique

* chore: cherry picked and adjust from
- f2fa8e1
- 98644c4
- 9396927
- 7ad4b98
- 8e57d2a

* fix: fix crash can't parse response inside LtcRepository.fetchRates

* fix: fix crash (failed parse) when SelectedPeersRepository.fetchSelectedPeers got unsuccessful response

* code bump

* fix: ConcurrentModificationException at BRPeerManager.txStatusUpdate

* feat: implement new API

* code bump

---------

Co-authored-by: Kerry Washington <mrkerrywashington@icloud.com>
kcw-grunt and others added 23 commits April 18, 2026 13:09
* Changed the borders

* Change border 1dp

white 20percent

* Polished the no tx row

* Polished the layout values

updated the images

* version bump

* bump
* Changed the borders

* Change border 1dp

white 20percent

* Polished the layout values

updated the images

* Polish the faliinscene

 Update abl
Remove some tests
Added FallinScene to welcome screen
* Moved clipboard test point into event

* renamed
Added caller when the value is updated
bump version

WIP
Created an android test directory for instrumented test
Introduce a WalletManager interface and make BRWalletManager implement it. Change validateAddress from a static native to an instance native method and update call sites (BitcoinUrlHandler, LitecoinURIHandler, PaymentProtocolTask, SendViewModel, etc.) to use BRWalletManager.getInstance().validateAddress(...).

Add FakeWalletManager test doubles for unit and instrumentation tests. Remove the legacy FragmentSend implementation and related showSendFragment usages from BRAnimator and simplify BreadActivity navigation (cleanup for Compose send flow). Enable testFixtures in build.gradle.kts and remove the custom AAB renaming task. Also load the native library in SendInstrumentationTest to ensure native methods are available during instrumentation tests.
polished the bentos
Added more tests for sender
This crash is a java.lang.NullPointerException occurring during the initialization of BreadActivity.java . Specifically, it's an attempt to invoke the observeBus method on a null HomeSettingDrawerComposeView object within the initializeViews method of BreadActivity . NullPointerExceptions are very common in Android development, often accounting for a significant portion of application crashes.
version bump
add notify script
* chore(i18n): auto-translate missing strings [skip ci]

Languages updated: ar, de, es, fa, fr, hi, in, it, ja, ko, nl, pa, pl, pt-rBR, ru, sv, th, tr, uk, zh-rCN, zh-rTW
Triggered by: ee688c0

* update notify

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* Filled in the tutorials

* Added analytics test points; linter fixes

* chore(i18n): auto-translate missing strings [skip ci]

Languages updated: ar, de, es, fa, fr, hi, in, it, ja, ko, nl, pa, pl, pt-rBR, ru, sv, th, tr, uk, zh-rCN, zh-rTW
Triggered by: a8d1f57

* Removed problem issue string

* chore(i18n): auto-translate missing strings [skip ci]

Languages updated: ar, de, es, fa, fr, hi, in, it, ja, ko, nl, pa, pl, pt-rBR, ru, sv, th, tr, uk, zh-rCN, zh-rTW
Triggered by: 953ac76

* cleaned error strings

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* Built basic layout of the bento

Added creatives
Added telephony

* Polished and refactored issues with the Tuts

* Added and reset the web screen

Added animations
Added some tests

* polished the strings

removed some stale

* add translated tags
* Built basic layout of the bento

Added creatives
Added telephony

* Polished and refactored issues with the Tuts

* Added and reset the web screen

Added animations
Added some tests

* polished the strings

removed some stale

* add translated tags
@kcw-grunt
kcw-grunt requested a review from josikie April 27, 2026 08:20
@kcw-grunt kcw-grunt self-assigned this Apr 27, 2026
@gruntsoftware gruntsoftware deleted a comment from github-actions Bot Apr 27, 2026
@kcw-grunt kcw-grunt changed the title Switching from release branches to tags 🫙 Switching from release branches to tags Apr 27, 2026
@kcw-grunt
kcw-grunt merged commit c37769d into main Apr 27, 2026
1 of 5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants