Fix ViewTreeObserver crash on Recents Go
The view tree we originally attach the onGlobalLayout listener to may no longer be alive when we get the callback as the view tree observer merges when the view attaches to a view hierarchy, giving us an exception. Instead, we should request the view tree observer again and remove it from there. Bug: 130740246 Fix: 130740246 Test: Manual test, no longer crashes Change-Id: Idb982022e72db75b8e20fd5bea00655212dc0258
This commit is contained in:
parent
194c12aec7
commit
60f21a8d3a
|
@ -417,13 +417,12 @@ public final class IconRecentsView extends FrameLayout {
|
|||
* manage when the animation conflicts with another animation.
|
||||
*/
|
||||
private void scheduleFadeInLayoutAnimation() {
|
||||
ViewTreeObserver viewTreeObserver = mTaskRecyclerView.getViewTreeObserver();
|
||||
viewTreeObserver.addOnGlobalLayoutListener(
|
||||
mTaskRecyclerView.getViewTreeObserver().addOnGlobalLayoutListener(
|
||||
new ViewTreeObserver.OnGlobalLayoutListener() {
|
||||
@Override
|
||||
public void onGlobalLayout() {
|
||||
animateFadeInLayoutAnimation();
|
||||
viewTreeObserver.removeOnGlobalLayoutListener(this);
|
||||
mTaskRecyclerView.getViewTreeObserver().removeOnGlobalLayoutListener(this);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue