Skip to content

Pre-Release | Android Studio UI App - Jetpack compose migration done - #25

Merged
AlexisTercero55 merged 6 commits into
pre-releasefrom
dev
Jul 30, 2026
Merged

Pre-Release | Android Studio UI App - Jetpack compose migration done#25
AlexisTercero55 merged 6 commits into
pre-releasefrom
dev

Conversation

@AlexisTercero55

Copy link
Copy Markdown
Collaborator

Related work

MIGRATION | #18 #20 login feature from Fragments to Jetpack Compose

  • Remove BaseFragment, LoginFragment, and sub-component fragments (LoginEmailFragment, LoginPasswordFragment, LoginButtonFragment) along with their associated XML DataBinding layouts.
  • Implement LoginScreen and modular UI components (LoginEmailField, LoginPasswordField, LoginButton) using Jetpack Compose and Material3.
  • Refactor LoginViewModel to use Compose mutableStateOf for email and password tracking.
  • Centralize input validation debouncing logic (300ms) within the LoginViewModel using viewModelScope to replace fragment-level handling.
  • Update LoginViewModel to handle pure state-driven UI updates, ensuring unidirectional data flow between the ViewModel and Composables.

MIGRATION | #21 Home feature to Jetpack Compose

  • Replace Fragment-based architecture and XML layouts with the HomeScreen composable.
  • Remove legacy HomeFragment, HomeServicesFragment, PageHeaderFragment, and PageFooterFragment along with their associated layout files.
  • Implement modular UI components using Jetpack Compose: PageHeader, PageFooter, ServiceList, and ServiceItem.
  • Replace RecyclerView and ServiceAdapter with LazyVerticalGrid for displaying services.
  • Integrate HomeViewModel and HeaderViewModel state using observeAsState within the new composable hierarchy.

MIGRATION | #22 MainActivity to Jetpack Compose and Compose Navigation

  • Convert MainActivity from AppCompatActivity to ComponentActivity and replace XML layouts with setContent.
  • Remove activity_main.xml and nav_graph.xml, migrating navigation logic to a Compose-based NavHost.
  • Implement routing using LaunchedEffect to reactively navigate between LoginScreen and HomeScreen based on authentication state.
  • Replace fragment-based UI with LoginScreen and HomeScreen composables.
  • Introduce LoadingScreen and LoadingOverlay composables to manage UI state during session initialization and background processing.
  • Clean up View-based dependencies including Data Binding and NavHostFragment.

DOC | #19 Technical Report: Rho Studio UI - CI/CD for release

  • Replace existing README content with a comprehensive technical report detailing the Rho Studio UI architecture, emphasizing Jetpack Compose, MVVM, and Unidirectional Data Flow (UDF) principles.
  • Document core architectural layers, including feature-specific UI components, centralized business logic via BaseViewModel, and session management infrastructure.
  • Detail technical implementations for state-driven reactive navigation, debounced input validation, and the Material 3 design system.
  • Add a roadmap for enterprise-grade scalability, covering Domain Layer introduction, Hilt for dependency injection, and project modularization.
  • Update the Android CI workflow to trigger on the 19-compose-migration-review branch for pushes and include pre-release and main branches for pull request triggers.

fix #19

AlexisTercero55 and others added 6 commits July 29, 2026 18:03
- Remove `BaseFragment`, `LoginFragment`, and sub-component fragments (`LoginEmailFragment`, `LoginPasswordFragment`, `LoginButtonFragment`) along with their associated XML DataBinding layouts.
- Implement `LoginScreen` and modular UI components (`LoginEmailField`, `LoginPasswordField`, `LoginButton`) using Jetpack Compose and Material3.
- Refactor `LoginViewModel` to use Compose `mutableStateOf` for `email` and `password` tracking.
- Centralize input validation debouncing logic (300ms) within the `LoginViewModel` using `viewModelScope` to replace fragment-level handling.
- Update `LoginViewModel` to handle pure state-driven UI updates, ensuring unidirectional data flow between the ViewModel and Composables.

Signed-off-by: Alexis Tercero <alexistercero55@gmail.com>
- Replace Fragment-based architecture and XML layouts with the `HomeScreen` composable.
- Remove legacy `HomeFragment`, `HomeServicesFragment`, `PageHeaderFragment`, and `PageFooterFragment` along with their associated layout files.
- Implement modular UI components using Jetpack Compose: `PageHeader`, `PageFooter`, `ServiceList`, and `ServiceItem`.
- Replace `RecyclerView` and `ServiceAdapter` with `LazyVerticalGrid` for displaying services.
- Integrate `HomeViewModel` and `HeaderViewModel` state using `observeAsState` within the new composable hierarchy.

Signed-off-by: Alexis Tercero <alexistercero55@gmail.com>
- Convert `MainActivity` from `AppCompatActivity` to `ComponentActivity` and replace XML layouts with `setContent`.
- Remove `activity_main.xml` and `nav_graph.xml`, migrating navigation logic to a Compose-based `NavHost`.
- Implement routing using `LaunchedEffect` to reactively navigate between `LoginScreen` and `HomeScreen` based on authentication state.
- Replace fragment-based UI with `LoginScreen` and `HomeScreen` composables.
- Introduce `LoadingScreen` and `LoadingOverlay` composables to manage UI state during session initialization and background processing.
- Clean up View-based dependencies including Data Binding and `NavHostFragment`.

Signed-off-by: Alexis Tercero <alexistercero55@gmail.com>
15 UI migration compose
- Replace existing README content with a comprehensive technical report detailing the Rho Studio UI architecture, emphasizing Jetpack Compose, MVVM, and Unidirectional Data Flow (UDF) principles.
- Document core architectural layers, including feature-specific UI components, centralized business logic via `BaseViewModel`, and session management infrastructure.
- Detail technical implementations for state-driven reactive navigation, debounced input validation, and the Material 3 design system.
- Add a roadmap for enterprise-grade scalability, covering Domain Layer introduction, Hilt for dependency injection, and project modularization.
- Update the Android CI workflow to trigger on the `19-compose-migration-review` branch for pushes and include `pre-release` and `main` branches for pull request triggers.

Signed-off-by: Alexis Tercero <alexistercero55@gmail.com>
DOC | #19 Technical Report: Rho Studio UI - CI/CD for release

@alexistercero-rho-dev alexistercero-rho-dev left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Migration to Jetpack compose DONE

Ready for pre-release

@AlexisTercero55
AlexisTercero55 merged commit e857b32 into pre-release Jul 30, 2026
1 check passed
@github-project-automation github-project-automation Bot moved this from In progress to Done in UI-Rho-Studio-Components Jul 30, 2026
@AlexisTercero55
AlexisTercero55 deleted the dev branch July 31, 2026 00:34
@github-project-automation github-project-automation Bot moved this from Backlog to Done in UI-Rho-Studio-Components Aug 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Release Main branch integration

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

Documentation and release compose app Milestone review

2 participants