[WOOMOB-3739] Cut Product Detail over to Compose (3/3) - #16395
[WOOMOB-3739] Cut Product Detail over to Compose (3/3)#16395hichamboushaba wants to merge 6 commits into
Conversation
Generated by 🚫 Danger |
|
|
bf5900d to
0255a21
Compare
3076aa3 to
0571e01
Compare
0255a21 to
abac131
Compare
220a0e4 to
8b1bdac
Compare
abac131 to
97fa247
Compare
8b1bdac to
47493da
Compare
97fa247 to
b7b6740
Compare
Retain the XML toolbar and gallery shell while moving detail sections and footer rendering into the shared Compose screen.
Keep the existing placement and analytics predicates while adding the design system icon and clarifying the action-state name.
Delete the legacy linked-product banner wrapper and Product Detail skeleton layout after the Compose cutover removes their final consumers.
11d7e79 to
99f586c
Compare
There was a problem hiding this comment.
AI Code Review - No issues found. The changes look good.
This migrates Product Detail from XML/RecyclerView to Compose (ComposeView hosts for the header, footer, cards list, and upload-error). The state wiring in ProductDetailFragment is consistent across the observers and the updateImagePresentation() / updateProductDetailScreen() derivations, the showShareOptionAsActionWithText -> showShareOptionAsAction rename is confined to the internal MenuButtonsState (no public/backwards-compat surface), and the toolbar navigation refactor adds a proper accessibility content description with a test that verifies stale labels are cleared when navigation is removed. Nice test coverage for the share-as-action vs overflow analytics source.
I checked the one thing that looked like a possible regression — removing the manual LIST_STATE_KEY / onSaveInstanceState scroll restoration — and it is safe: ProductDetailScreen uses rememberLazyListState(), which is Saver-backed, so scroll position is still preserved across configuration changes.
PR housekeeping
- Behaviour-preserving UI refactor (XML -> Compose); no test-plan readiness flag required.
- Applied repo
AGENTS.md/CLAUDE.mdguidance (store-management MVVM + Compose-in-Fragment patterns) when reviewing.
Automatic review · claude-opus-4-8 · Workflow run
How to reply to a finding
Reply on this review (or inline at the line the finding refers to) with one of:
@claude addressed- I made the change. Bot verifies against the next diff before marking resolved.@claude rejected: <reason>- Will not fix; reason gets quoted on the next review.@claude not-applicable- Finding does not apply (wrong file, already covered elsewhere, etc.).
The bot honours these on the next review pass.

Description
Stack: #16393 → #16394 → this PR. Review after #16394; part 3 of 3.
Note
The important thing for now is to get the screen to Compose, as this would make aligning any small changes later easier. And because of this please note two things:
Fixes WOOMOB-3739.
This is part 3 of 3 in the Product Detail Compose migration stack. It cuts both Add and Edit Product Detail over to the shared renderer while retaining the Fragment-owned XML shell for navigation, dialogs, results, analytics, the toolbar/menu, two-pane coordination, and the collapsing image gallery.
The Compose body owns image-state presentation and property cards. Add More remains fixed outside Coordinator scrolling. Clean public products show icon-only outlined Share and overflow actions; Save or Publish keeps runtime priority and moves Share into the titled overflow row. The XML menu intentionally declares Share as never promoted so reinflation is safe, while
ProductDetailsToolbarHelperremains the runtime authority.The final commit removes the superseded Product Detail promo renderer and skeleton layout. No release-note entry is added because this stack targets the migration feature branch rather than the release branch.
Test Steps
Images/gif
RELEASE-NOTES.txtif necessary. Use the "[Internal]" label for non-user-facing changes.