Fixing activity leak on config change

If attachTo happens before the view is attached to window,
ViewOnDrawExecutor hooks to the tree observer twice (second time from
onViewAttachedToWindow). It only unhooks once.

Since tree observer is global, this leads to leaking the activity, and
besides, all old activities getting the events from the tree observer.

Bug: 139137636
Change-Id: Ie2641b8f3614545052fe34ad6588b070c3b82a33
(cherry picked from commit ebb5c75344)
This commit is contained in:
vadimt
2019-10-18 11:34:21 -07:00
committed by Vadim Tryshev
parent c3a688a973
commit 7fcbd2379b
@@ -55,7 +55,9 @@ public class ViewOnDrawExecutor implements Executor, OnDrawListener, Runnable,
mLoadAnimationCompleted = true;
}
attachObserver();
if (mAttachedView.isAttachedToWindow()) {
attachObserver();
}
}
private void attachObserver() {