Skip to content

feat(ui): migrate project to Jetpack Compose - #14

Merged
nikkiw merged 10 commits into
mainfrom
feature/compose-migration
Jul 27, 2026
Merged

feat(ui): migrate project to Jetpack Compose#14
nikkiw merged 10 commits into
mainfrom
feature/compose-migration

Conversation

@nikkiw

@nikkiw nikkiw commented Jul 27, 2026

Copy link
Copy Markdown
Owner

Description

This pull request completes the migration of the application's UI layer to Jetpack Compose.

Changes

  • Build: Switched the project to a Compose-only UI stack.
  • UI: Migrated the app shell and feed screens to Compose.
  • Architecture: Aligned stores and data flow with Compose Navigation.
  • Performance: Regenerated baseline profiles for the Compose feed.
  • Lint & Style: Allowed PascalCase for composables and applied Spotless formatting across the codebase.
  • Testing: Refreshed test coverage for the new Compose boundaries.

nikkiw added 10 commits July 27, 2026 00:57
- remove the legacy :core:image-glide module and related view-era dependencies\n- add Compose, Coil 3 and markdown renderer dependencies for the new UI stack\n- update project docs and module graph to reflect the compose-only architecture
- replace the activity view host with a compose app shell and compose-backed system bar handling\n- add compose implementations for feed, article and recommendation surfaces with decompose integration\n- remove legacy XML layouts, view ext adapters and old feed ui bridge code
- reshape feed stores and repository wiring around the compose-first decompose flow\n- update shared network, recommendation and profile integrations to match the new article and recommendation contracts\n- simplify supporting core contracts used by the compose-only feed pipeline
- update architecture and integration tests for the compose-only feed module graph\n- replace obsolete view-based checks with compose smoke and semantics coverage\n- realign repository, worker and store tests with the new navigation and state flow
- refresh benchmark navigation targets for the compose-only app shell\n- capture a new baseline profile after the feed migration\n- keep benchmark scaffolding aligned with the new startup and scroll flows
- configure ktlint and Spotless to ignore function naming for @composable functions\n- remove the old file-specific workaround in favor of a project-wide compose-aware rule
Move article read-progress logic out of Compose screens and into feed components, add language-aware recommendation filtering, wire Room migration 1->2 for content language, and enforce architecture tests so Compose UI stays on contract-only dependencies.
Document the Compose-only runtime, add the EMUI baseline-profile workaround, accept the profiled P99 tail as a known non-blocking demo limitation, and ignore local Perfetto analysis artifacts.
Arm shared bounds one frame before navigation, keep the article preview snapshot stable during the initial destination composition, and apply the same transition arming to related article cards.
@nikkiw
nikkiw merged commit bbe05b7 into main Jul 27, 2026
1 check passed
@nikkiw
nikkiw deleted the feature/compose-migration branch July 27, 2026 12:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant