Skip to content

Conversation

@LynxLynxx
Copy link
Contributor

@LynxLynxx LynxLynxx commented Aug 26, 2025

Description

This PR sets configuration for android platform.

Most important files to review are *.gradle.kts, AndroidManifest and dart files

Related Issue(s)

Closes #3263

Description of Changes

  • adding flavors app icons with proper badges
  • migration from groove to kotlin groove
  • changing selection evn from flavor value.

Screenshots

image
Screen.Recording.2025-08-26.at.11.45.17.mov
image

Please confirm the following checks

  • My code follows the style guidelines of this project
  • I have performed a self-review of my code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • Any dependent changes have been merged and published in downstream module

@LynxLynxx LynxLynxx added review me PR is ready for review squad: face Frontend Catalyst Experience Team platform: android Issue or feature relates specifically to Android platform labels Aug 26, 2025
@LynxLynxx LynxLynxx moved this from New to 🏗 In progress in Catalyst Aug 26, 2025
@LynxLynxx LynxLynxx changed the base branch from main to feat/enable-mobile-support-voices August 26, 2025 10:05
@LynxLynxx LynxLynxx moved this from 🏗 In progress to 👀 In review in Catalyst Aug 26, 2025
@LynxLynxx LynxLynxx marked this pull request as ready for review August 26, 2025 10:06
@LynxLynxx LynxLynxx marked this pull request as draft August 26, 2025 10:30
@LynxLynxx LynxLynxx marked this pull request as ready for review August 26, 2025 10:31
@LynxLynxx LynxLynxx requested review from damian-molinski and dt-iohk and removed request for nathanbogale, neil-iohk and stevenj August 27, 2025 08:21
@github-actions
Copy link
Contributor

📚 Docs Preview

The docs for this PR can be previewed at the following URL:

https://docs.dev.projectcatalyst.io/voices/feat/3263-update-ios-android-config

Copy link
Contributor

@damian-molinski damian-molinski left a comment

Choose a reason for hiding this comment

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

Was able to build on android emulator!

Only, tricky part is that i had to update my launch.json to use --flavor dev instead of --dart-define=ENV_NAME=dev.

I've made separate task for it (#3313)

@LynxLynxx
Copy link
Contributor Author

Was able to build on android emulator!

Only, tricky part is that i had to update my launch.json to use --flavor dev instead of --dart-define=ENV_NAME=dev.

I've made separate task for it (#3313)

I wanted to do this in seperate PR after ios and adroid will be merged because they went out of hand. Also would update README to let other now that if they are running mobile they should only use flavor and dot use ENV_NAME

@LynxLynxx LynxLynxx merged commit 4653d9a into feat/enable-mobile-support-voices Aug 27, 2025
49 checks passed
@LynxLynxx LynxLynxx deleted the feat/3263-update-ios-android-config branch August 27, 2025 10:04
@github-project-automation github-project-automation bot moved this from 👀 In review to ✅ Done in Catalyst Aug 27, 2025
dt-iohk added a commit that referenced this pull request Oct 8, 2025
* feat(cat-voices): update android config (#3298)

* feat: android app name

* chore: update gradle

* feat: transform groove to kotlin

* feat: adding icons

* feat: update background in loading in app splash for mobile

* feat: update app flavor and env selection

* feat: update grade-wrapper

* feat: use specific sdk version

* feat: update key derivation android config

* feat: update remote_widgets android config

* feat: update bundle id

* fix: spelling

* feat(cat-voices): update recommended settings and readme (#3321)

* feat: update recommended settings and readme

* fix: format

* fix: format

* feat: remove flavor from name

* feat(cat-voices): ios config (#3315)

* feat: podfile update

* feat: update icons

* feat: update pod file

* feat: update catalyst key derivation

* feat: update remote_widgets

* chore: remove Podfile.lock from tracking and to gitignore

* chore: update build targets

* chore: add files to earthlyignore

* refactor(cat-voices): split catalyst platform into operating system and form factor enums (#3317)

* refactor: split catalyst platform into os and form factor

* chore: cleanup

* refactor: unify mobile detection

* feat: allow embed builders on web only

* chore: cleanup tests

* chore: cleanup

* refactor: simplify the expression

* refactor: use data widget builder

* docs: clarify int constraints

* refactor: migrate api

* feat(cat-voices): permission handler  (#3337)

* chore: adding dependencies

* feat: adding permission for android

* feat: permission handler factory

* feat: exporting models

* feat: adding dependencies

* fix: android manifest format

* feat: adding catalyst operating system

* feat: adding catalyst operating system

* feat: refactor to used rationale and explanation exception

* feat: adding queue

* chore: remove android manifest permission

* fix: remove white space and sort intl

* chore: change location of permission_mixin

* chore: remove unused file

* feat(cat-voices): native drift (mobile) db (#3371)

* define native database and its paths

* docs: update README

* chore: markdown formatting

* fix: readme

* feat(cat-voices): io downloader  (#3361)

* chore: adding dependencies

* feat: adding permission for android

* feat: permission handler factory

* feat: exporting models

* feat: adding dependencies

* fix: android manifest format

* feat: adding catalyst operating system

* feat: adding catalyst operating system

* feat: refactor to used rationale and explanation exception

* feat: adding queue

* chore: remove android manifest permission

* fix: remove white space and sort intl

* feat: io downloader implementation

* chore: remove comments

* fix: spelling

* feat: extracting common logic

* chore: update logic for downloader class

* chore: remove unused mixin

* fix: format

* chore: review update

* chore: set default strategy

* chore: remove files

* chore: added permission

* chore: remove old files

* feat(cat-voices): uploader service (#3376)

* feat: uploader service

* chore: review update

* feat(cat-voices): Discovery Page mobile screen adjustment (#3380)

* feat: adjust discovery page to mobile screen

* feat: adding responsive_sized_box

* chore: review update

* chore: update docs

* feat(cat-voices): proposals page - mobile (#3377)

* single out single_select_dropdown.dart and clean up imports

* refactor: making ProposalsOrderDropdown little more flexible

* wrapping order dropdown

* fix selector List problem

* fix: divider and spacings

* chore: PaginatedGridView response alignment

* feat: response header and content padding

* chore: cleanup imports

* ripple borders

* feat(cat-voices): registration mobile - part 1 (#3393)

* chore: rename VoicesTwoPaneDialog to VoicesTwoPanelDialog

* add fullscreenDialog parameter

* chore: split RegistrationDialog into smaller widgets

* move constraints directly to Dialog parameter

* refactor: upload dialog splitted into smaller widgets

* chore: use spacing instead of separatedBy

* use Visibility.maintain

* use SizeBox-es instead of paddings

* chore: VoicesAlertDialog now uses BoxConstraints instead of SizedBox

* wip

* chore: vertical panels

* cleanup info container

* chore: update VoicesPanelsDialog docs and make it more generic

* Remove ResponsiveBreakpointKey.other

* loose constrains for mobile

* PR review updates

* chore: typo

* feat(cat-voices): Mobile support for category detail page (#3392)

* feat: initial screen adjustements

* feat: mobile support category detail page

* chore: review update

* chore: use sizeOf

* feat: registration mobile - part 2 (#3395)

* chore: rename VoicesTwoPaneDialog to VoicesTwoPanelDialog

* add fullscreenDialog parameter

* chore: split RegistrationDialog into smaller widgets

* move constraints directly to Dialog parameter

* refactor: upload dialog splitted into smaller widgets

* chore: use spacing instead of separatedBy

* use Visibility.maintain

* use SizeBox-es instead of paddings

* chore: VoicesAlertDialog now uses BoxConstraints instead of SizedBox

* wip

* chore: vertical panels

* cleanup info container

* chore: update VoicesPanelsDialog docs and make it more generic

* Remove ResponsiveBreakpointKey.other

* loose constrains for mobile

* PR review updates

* chore: typo

* chore: remove scroll from dialog vertical panels impl

* chore: registration is web only

* Enable importing SeedPhrase

* chore: minor adjustments

* fix: SeedPhrase test

* chore: cleanup func name

* feat(cat-voices): responsive account page (#3396)

* revert ResponsiveStateResolver to use width instead of shortestSide

* ColumnsRow updates

* AccountPage tiles responsive adjustments

* learn more button

* cleanup dialogs

* more adjustments

* discovery deleted confirm

* fix: failing test

* remove buttons global _launch in favour of LaunchUrlMixin

* simplify keychain delete low

* remove covariant

* fix proposals page for small screens (#3405)

* feat(cat-voices): workspace responsiveness  (#3401)

* feat: adding responsiveness to workspace

* chore: remove unused param

* chore: review update

* feat(cat-voices): catalyst compression with rust (#3370)

* chore: upgrade CI

* chore: generate code

* feat: generate catalyst_compression_native with flutter_rust_bridge

* feat: signatures for rust functions

* chore: regenerate

* feat: implement brotli decoder

* feat: add zstd algorithm

* chore: replace catalyst_compression with native rust implementation

* refactor: rename frb crates

* chore: rename compression native to compression

* refactor: cleanup unnecessary web prefix

* fix: web prefix

* feat: add wasm_bindgen module name

* fix: add missing param

* feat: update flutter_rust_bridge

* chore: pin flutter_rust_bridge to git hosted version

* feat: custom thread pool

* feat: custom thread pool in key derivation package

* chore: generated files

* feat: config

* chore: generate code

* chore: cleanup + lints

* chore: add compression rust tests

* chore: sync missing files

* chore: allow github repo

* chore: sync configs

* chore: fix lints, add code generation to pre-push

* chore: cleanup and lint issues

* chore: generate code

* fix: wrong type

* chore: docs and syntax fix

* fix: lint issues, regenerate

* fix: wasm_bindgen name

* fix: lint issues, missing docs

* fix: pre-push command fixes

* refactor: align naming with other targets

* fix: melos issues

* chore: cleanup

* fix: earthly targets

* fix: update pre-push tasks to avoid using melos

* chore: spelling

* chore: reformat

* feat(cat-voices): voting page responsiveness (#3407)

* fix(cat-voices): Ada symbol does not render on android (#3409)

* fix: google fonts unable to display ada symbol

* chore: reformat

* chore: reformat

* feat(cat-voices): proposal page responsiveness (#3410)

* feat: proposal responsiveness

* chore: review update

* feat(cat-voices): versioning from tags (#3399)

* test

* tag version without handling suffixes

* handling build_name suffixes

* remove debug prints

* docs

* refactor(cat-voices): responsive builder best matching breakpoint (#3421)

* refactor: attempt to find best matching breakpoint

* refactor: responsive builder usage and responsive padding

* refactor: remove other or fallback from responsive widgets

* chore: tests

* chore: cleanup

* refactor: reimplement responsive to allow const constructors

* chore: cleanup

* chore: reformat

* chore: cleanup

* chore: more tests

* feat(cat-voices): proposal builder responsiveness (#3432)

* feat: adding responsiveness

* chore: review update

* chore: remove unused widget

* feat(cat-voices): Responsive app bar (#3434)

* refactor: split into more widgets

* chore: reformat code

* feat: responsive appbar action buttons

* feat: update button ui

* fix(cat-voices): Running unit tests in earthly on macos (#3477)

* fix: running unit tests in earthly in mac on arm64

* fix: cleanup

* feat(cat-voices): switch to flutter_rust_bridge iohk fork (#3478)

* feat: switch to iohk fork of flutter_rust_bridge

* chore: sync cfg

* feat: update flutter_rust_bridge version

* feat: update flutter rust bridge

* feat: lock wasm-bindgen last working version

* fix: update flutter_rust_bridge version

* fix: ignore unused deps

* feat: regenerate code

* fix: running unit tests in earthly in mac on arm64

* fix: cleanup

* chore: cleanup

* chore: sync-cfg

* chore(cat-voices): update README with added Platforms mentioned (#3486)

* chore: update README with added Platforms mentioned

* chore: fix check-markdown

* fix: sentry auth token in docker target (#3487)

* chore: switch ci to versioned release

---------

Co-authored-by: Dominik Toton <166132265+dt-iohk@users.noreply.github.com>
Co-authored-by: Dominik Toton <dominik.toton@iohk.io>
Co-authored-by: Damian Moliński <47773413+damian-molinski@users.noreply.github.com>
Co-authored-by: Damian Molinski <damian.molinski@iohk.io>
dt-iohk added a commit that referenced this pull request Oct 9, 2025
* feat(cat-voices): update android config (#3298)

* feat: android app name

* chore: update gradle

* feat: transform groove to kotlin

* feat: adding icons

* feat: update background in loading in app splash for mobile

* feat: update app flavor and env selection

* feat: update grade-wrapper

* feat: use specific sdk version

* feat: update key derivation android config

* feat: update remote_widgets android config

* feat: update bundle id

* fix: spelling

* feat(cat-voices): update recommended settings and readme (#3321)

* feat: update recommended settings and readme

* fix: format

* fix: format

* feat: remove flavor from name

* feat(cat-voices): ios config (#3315)

* feat: podfile update

* feat: update icons

* feat: update pod file

* feat: update catalyst key derivation

* feat: update remote_widgets

* chore: remove Podfile.lock from tracking and to gitignore

* chore: update build targets

* chore: add files to earthlyignore

* refactor(cat-voices): split catalyst platform into operating system and form factor enums (#3317)

* refactor: split catalyst platform into os and form factor

* chore: cleanup

* refactor: unify mobile detection

* feat: allow embed builders on web only

* chore: cleanup tests

* chore: cleanup

* refactor: simplify the expression

* refactor: use data widget builder

* docs: clarify int constraints

* refactor: migrate api

* feat(cat-voices): permission handler  (#3337)

* chore: adding dependencies

* feat: adding permission for android

* feat: permission handler factory

* feat: exporting models

* feat: adding dependencies

* fix: android manifest format

* feat: adding catalyst operating system

* feat: adding catalyst operating system

* feat: refactor to used rationale and explanation exception

* feat: adding queue

* chore: remove android manifest permission

* fix: remove white space and sort intl

* chore: change location of permission_mixin

* chore: remove unused file

* feat(cat-voices): native drift (mobile) db (#3371)

* define native database and its paths

* docs: update README

* chore: markdown formatting

* fix: readme

* feat(cat-voices): io downloader  (#3361)

* chore: adding dependencies

* feat: adding permission for android

* feat: permission handler factory

* feat: exporting models

* feat: adding dependencies

* fix: android manifest format

* feat: adding catalyst operating system

* feat: adding catalyst operating system

* feat: refactor to used rationale and explanation exception

* feat: adding queue

* chore: remove android manifest permission

* fix: remove white space and sort intl

* feat: io downloader implementation

* chore: remove comments

* fix: spelling

* feat: extracting common logic

* chore: update logic for downloader class

* chore: remove unused mixin

* fix: format

* chore: review update

* chore: set default strategy

* chore: remove files

* chore: added permission

* chore: remove old files

* feat(cat-voices): uploader service (#3376)

* feat: uploader service

* chore: review update

* feat(cat-voices): Discovery Page mobile screen adjustment (#3380)

* feat: adjust discovery page to mobile screen

* feat: adding responsive_sized_box

* chore: review update

* chore: update docs

* feat(cat-voices): proposals page - mobile (#3377)

* single out single_select_dropdown.dart and clean up imports

* refactor: making ProposalsOrderDropdown little more flexible

* wrapping order dropdown

* fix selector List problem

* fix: divider and spacings

* chore: PaginatedGridView response alignment

* feat: response header and content padding

* chore: cleanup imports

* ripple borders

* feat(cat-voices): registration mobile - part 1 (#3393)

* chore: rename VoicesTwoPaneDialog to VoicesTwoPanelDialog

* add fullscreenDialog parameter

* chore: split RegistrationDialog into smaller widgets

* move constraints directly to Dialog parameter

* refactor: upload dialog splitted into smaller widgets

* chore: use spacing instead of separatedBy

* use Visibility.maintain

* use SizeBox-es instead of paddings

* chore: VoicesAlertDialog now uses BoxConstraints instead of SizedBox

* wip

* chore: vertical panels

* cleanup info container

* chore: update VoicesPanelsDialog docs and make it more generic

* Remove ResponsiveBreakpointKey.other

* loose constrains for mobile

* PR review updates

* chore: typo

* feat(cat-voices): Mobile support for category detail page (#3392)

* feat: initial screen adjustements

* feat: mobile support category detail page

* chore: review update

* chore: use sizeOf

* feat: registration mobile - part 2 (#3395)

* chore: rename VoicesTwoPaneDialog to VoicesTwoPanelDialog

* add fullscreenDialog parameter

* chore: split RegistrationDialog into smaller widgets

* move constraints directly to Dialog parameter

* refactor: upload dialog splitted into smaller widgets

* chore: use spacing instead of separatedBy

* use Visibility.maintain

* use SizeBox-es instead of paddings

* chore: VoicesAlertDialog now uses BoxConstraints instead of SizedBox

* wip

* chore: vertical panels

* cleanup info container

* chore: update VoicesPanelsDialog docs and make it more generic

* Remove ResponsiveBreakpointKey.other

* loose constrains for mobile

* PR review updates

* chore: typo

* chore: remove scroll from dialog vertical panels impl

* chore: registration is web only

* Enable importing SeedPhrase

* chore: minor adjustments

* fix: SeedPhrase test

* chore: cleanup func name

* feat(cat-voices): responsive account page (#3396)

* revert ResponsiveStateResolver to use width instead of shortestSide

* ColumnsRow updates

* AccountPage tiles responsive adjustments

* learn more button

* cleanup dialogs

* more adjustments

* discovery deleted confirm

* fix: failing test

* remove buttons global _launch in favour of LaunchUrlMixin

* simplify keychain delete low

* remove covariant

* fix proposals page for small screens (#3405)

* feat(cat-voices): workspace responsiveness  (#3401)

* feat: adding responsiveness to workspace

* chore: remove unused param

* chore: review update

* feat(cat-voices): catalyst compression with rust (#3370)

* chore: upgrade CI

* chore: generate code

* feat: generate catalyst_compression_native with flutter_rust_bridge

* feat: signatures for rust functions

* chore: regenerate

* feat: implement brotli decoder

* feat: add zstd algorithm

* chore: replace catalyst_compression with native rust implementation

* refactor: rename frb crates

* chore: rename compression native to compression

* refactor: cleanup unnecessary web prefix

* fix: web prefix

* feat: add wasm_bindgen module name

* fix: add missing param

* feat: update flutter_rust_bridge

* chore: pin flutter_rust_bridge to git hosted version

* feat: custom thread pool

* feat: custom thread pool in key derivation package

* chore: generated files

* feat: config

* chore: generate code

* chore: cleanup + lints

* chore: add compression rust tests

* chore: sync missing files

* chore: allow github repo

* chore: sync configs

* chore: fix lints, add code generation to pre-push

* chore: cleanup and lint issues

* chore: generate code

* fix: wrong type

* chore: docs and syntax fix

* fix: lint issues, regenerate

* fix: wasm_bindgen name

* fix: lint issues, missing docs

* fix: pre-push command fixes

* refactor: align naming with other targets

* fix: melos issues

* chore: cleanup

* fix: earthly targets

* fix: update pre-push tasks to avoid using melos

* chore: spelling

* chore: reformat

* feat(cat-voices): voting page responsiveness (#3407)

* fix(cat-voices): Ada symbol does not render on android (#3409)

* fix: google fonts unable to display ada symbol

* chore: reformat

* chore: reformat

* feat(cat-voices): proposal page responsiveness (#3410)

* feat: proposal responsiveness

* chore: review update

* feat(cat-voices): versioning from tags (#3399)

* test

* tag version without handling suffixes

* handling build_name suffixes

* remove debug prints

* docs

* refactor(cat-voices): responsive builder best matching breakpoint (#3421)

* refactor: attempt to find best matching breakpoint

* refactor: responsive builder usage and responsive padding

* refactor: remove other or fallback from responsive widgets

* chore: tests

* chore: cleanup

* refactor: reimplement responsive to allow const constructors

* chore: cleanup

* chore: reformat

* chore: cleanup

* chore: more tests

* feat(cat-voices): proposal builder responsiveness (#3432)

* feat: adding responsiveness

* chore: review update

* chore: remove unused widget

* feat(cat-voices): Responsive app bar (#3434)

* refactor: split into more widgets

* chore: reformat code

* feat: responsive appbar action buttons

* feat: update button ui

* feat: configure dart workspaces

* chore: refine example package name

* feat: migrate melos to workspaces

* chore: migrate licenses generator

* chore: reformat

* feat: migrate licenses

* chore: missing licenses, cleanup

* docs: update outdated docs

* feat: add missing requirements

* refactor: simplify version management

* feat: add missing requirements

* chore: update ci version

* feat: migration, allow concurrency in melos

* refactor: order dependents

* feat: more concurrency

* feat: concurrency

* fix: warnings

* fix: concurrency

* fix: reporters

* feat: no concurrency param

* fix: revert ffigen

* docs: fix markdown

* feat: update flutter rust bridge

* feat: migrate rust codegen

* fix: update flutter_rust_bridge to address wasm-bindgen-cli

* feat: update frb

* fix: downgrade frb

* fix(cat-voices): Running unit tests in earthly on macos (#3477)

* fix: running unit tests in earthly in mac on arm64

* fix: cleanup

* feat(cat-voices): switch to flutter_rust_bridge iohk fork (#3478)

* feat: switch to iohk fork of flutter_rust_bridge

* chore: sync cfg

* feat: update flutter_rust_bridge version

* feat: update flutter rust bridge

* feat: lock wasm-bindgen last working version

* fix: update flutter_rust_bridge version

* fix: ignore unused deps

* feat: regenerate code

* fix: running unit tests in earthly in mac on arm64

* fix: cleanup

* chore: cleanup

* chore: sync-cfg

* fix: missing workspace resolution

* fix: incompatible ffigen version

* fix: pre-push command

* Apply suggestion from @LynxLynxx

Co-authored-by: Ryszard Schossler <51096731+LynxLynxx@users.noreply.github.com>

* chore: revert docs

* chore: use versioned CI version

---------

Co-authored-by: Ryszard Schossler <51096731+LynxLynxx@users.noreply.github.com>
Co-authored-by: Damian Moliński <47773413+damian-molinski@users.noreply.github.com>
Co-authored-by: Damian Molinski <damian.molinski@iohk.io>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

platform: android Issue or feature relates specifically to Android platform review me PR is ready for review squad: face Frontend Catalyst Experience Team

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

Update android config

4 participants