Automattic / Automattic/pocket-casts-android
Bottom sheet fragment is broken with unbounded content
- Dominant language
- Kotlin
- Stars
- 2.8k
- Forks
- 308
- Avg merge
- 1d 13h
- Merged PRs (30d)
- 143
Description
### Description
After Android 15 migration couple of things in the `BaseDialogFragment` broke.
### Full-screen display
When the content has an unbounded height, the sheet is displayed in full-screen mode instead of being padded at the top. Additionally, the content exhibits a slight parallax effect. See the video below—you can notice how the bottom icons move faster than the rest of the content. Also, observe that the top edge has rounded corners up to a certain point.
https://github.com/user-attachments/assets/9d3de0ad-372d-4817-8b11-4b2655b677db
### Theming
This issue is somewhat related to the previous one. Setting the navigation bar and status bar tint no longer works; everything is now controlled through the background tint. If I force the background tint to red in the previous example, the screen appears as shown in the video below. This also makes it more evident what triggers the parallax effect and the top edge issue.
https://github.com/user-attachments/assets/dbac7696-f2dd-4668-9364-ca84f0180a3a
### Step-by-step reproduction instructions
1. Go to any episode.
2. Share it.
3. Notice bottom sheet behavior.
### Screenshots or screen recording
_No response_
### Did you search for existing bug reports?
- [x] I have searched for existing bug reports.
### Device, Operating system, and Pocket Casts app version
_No response_
Contributor guide
Research direction
Reproduce the issue by opening an episode and sharing it, then inspect the BaseDialogFragment implementation involved in the bottom sheet. Compare bounded and unbounded content behavior, including the top padding, parallax, rounded edge, and system-bar tinting; done means the sheet and theming behave correctly in the reported scenario.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, kotlin
- Domain
- mobile
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100