chore(divider): remove ConstraintLayout dependency - #2166
Open
soulcramer wants to merge 3 commits into
Open
Conversation
This comment has been minimized.
This comment has been minimized.
Contributor
|
🚨 UI regression detected! Checkout the paparazzi-delta artifact.
|
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
The labelled divider was the only ConstraintLayout consumer in spark. ConstraintLayout is Android-only and blocks making the module KMP compatible. Reimplement the label layout with Row/Column + weight: the alignment side line gets a fixed 40.dp width, the other side weight(1f) with a 40.dp minimum, and the label a weight(1f, fill = false) so it yields space back to the lines. This keeps the public API, enums, and the no-label paths unchanged, and matches the previous output pixel for pixel (Paparazzi passed without re-recording). Removing the dependency also drops its transitive View-system tail (appcompat, fragment, drawerlayout, viewpager, emoji2, ...) from the runtime classpath. Add empty-label and oversized-label screenshot cases to guard the two regressions that first motivated the ConstraintLayout layout (#1208).
soulcramer
marked this pull request as ready for review
August 14, 2026 19:20
soulcramer
force-pushed
the
chore/remove-constraint-layout
branch
from
August 14, 2026 19:20
8ac4be6 to
d221fec
Compare
soulcramer
commented
Aug 14, 2026
Collaborator
Author
There was a problem hiding this comment.
The divider seems to not extend like we want...
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
📋 Changes
DividerwithRow/Column+ weight.weight(1f)with a 40.dp minimum; the label usesweight(1f, fill = false). Public API, enums, and no-label paths are unchanged.constraintlayoutdependency fromspark/build.gradle.ktsand its transitive View-system tail (appcompat, fragment, drawerlayout, viewpager, emoji2, ...) from the runtime classpath.Adds two new Paparazzi cases to
DividerScreenshotfor the empty-label and oversized-label edge cases that first motivated the ConstraintLayout layout in #1208.🤔 Context
constraintlayoutis the last Android-only dependency in thesparkmodule. Removing it is a prerequisite for the KMP extraction tracked in #1928.✅ Checklist