Shape the surface behind an AlertDialog according to the dialog's shape. #424
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.
Proposed Changes
AlertDialog
to theAlertDialogProvider
.PopupAlertDialogProvider
to pass the shape to theSurface
that displays the elevation shadow, in order to draw the shadow with the correct shape.PopupAlertDialogProvider
to use a transparent background for theSurface
that displays the elevation shadow. Otherwise the edges of its background can still show through the dialog content's shape.AlertDialogContent
uses its ownSurface
at the root, so unless the user passes a translucentbackgroundColor
toAlertDialog
, this change should not be visible.UndecoratedWindowAlertDialogProvider
to useCoreDialog(transparent=true)
.Note that this adds a new function to the (public)
AlertDialogProvider
interface, but the new function has a default implementation that delegates to the old function. I think this provides backwards compatibility.Reproducer:
Before:
After:
Testing
Test: Manual testing using the code above.
Issues Fixed
Fixes: JetBrains/compose-multiplatform#1269