bluelinelabs / bluelinelabs/Conductor
[QUESTION/BUG] AnimatorChangeHandler::getAnimator
- Dominant language
- Java
- Stars
- 3.9k
- Forks
- 338
- PR merge metrics
- No merged PRs in 30d
Description
We're experiencing a breaking change in behaviour after upgrading from 2.0.6 to 2.1.0.
We are using lot of AnimatorChangeHandler where we've been mostly trusting our views being null or nonnull based on the implemented AnimatorChangeHandler (so that we can ensure that we animate to consistent and correct state).
In the latest release it seems that after putting the app in the background and triggering a router transaction at that point (e.g. pop last router as a result of completing a request to network) the from and to view -parameters of the getAnimator call are null.
Since android still retains the view instances and we have registered a transaction with certain AnimatorChangeHandlers, it seems faulty that conductor decides to release the view reference onDetach and still call the AnimatorChangeHandler even though there's nothing to change.
Is there a reason why AnimatorChangeHandler::getAnimator() is called for null views?
Contributor guide
Research direction
Start at AnimatorChangeHandler::getAnimator and the onDetach path, then reproduce the reported router transaction after the app is backgrounded. Compare behavior between versions 2.0.6 and 2.1.0, focusing on why both view parameters are null. Done means establishing whether this is expected behavior or a regression and documenting the resulting behavior or required change.
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
- Needs clarification
- Newbie friendliness
- 25/100