bluelinelabs / bluelinelabs/Conductor

Freezing in SharedElementTransitionChangeHandler.waitOnAllTransitionNames

Open
#357 13 comments 0 reactions 0 assignees View on GitHub
hacktoberfest
Dominant language
Java
Stars
3.9k
Forks
338
PR merge metrics
No merged PRs in 30d

Description

It's very easy to completely freeze your app while it's waiting for a view with a specific transition name that may never come.

Repro:
1. Have a controller with a row of 5 images in landscape and 3 in portrait. The type of container layout doesn't matter.
2. Click on the 4th or 5th image while in landscape mode.
3. Correct entering shared element transition is displayed.
4. Rotate to portrait.
5. Now it will freeze because the 4th and 5th images are not shown and `SharedElementTransitionChangeHandler` will wait forever.

There are many situations where this problem may happen. **Is there a suggested way to handle the case when a layout in different screen orientations show different sets of images?**

Contributor guide

Open the contributing guide

Research direction

Start by reading SharedElementTransitionChangeHandler.waitOnAllTransitionNames and reproducing the rotation scenario with transition names that disappear from the layout. Trace how the handler behaves when a requested view never appears, then add regression coverage and verify that the transition no longer freezes indefinitely.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, java
Domain
mobile
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.