Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 74a94059 authored by Jorim Jaggi's avatar Jorim Jaggi
Browse files

Fix crash when removing draw listener

The same behavior can be achieved by using a predraw listener, which
can be removed while the callback is called, so it doesn't crash.

Change-Id: I3a7138ba49936159dc95b7758c9603366dcf808c
parent f63afe7b
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -381,12 +381,13 @@ public class ActionMenuPresenter extends BaseMenuPresenter
        computeMenuItemAnimationInfo(true);
        final ViewTreeObserver observer = menuViewParent.getViewTreeObserver();
        if (observer != null) {
            observer.addOnDrawListener(new ViewTreeObserver.OnDrawListener() {
            observer.addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
                @Override
                public void onDraw() {
                public boolean onPreDraw() {
                    computeMenuItemAnimationInfo(false);
                    observer.removeOnDrawListener(this);
                    observer.removeOnPreDrawListener(this);
                    runItemAnimations();
                    return true;
                }
            });
        }