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

Commit 1dd2e481 authored by Jon Miranda's avatar Jon Miranda
Browse files

Wait until listeners/end runnable is created before checking icon result.

This prevents the case where original icon is in hidden state, then the
view gets recycled and since there is no listener/end runnable the original
icon is left in the hidden state.

Bug: 142120338
Change-Id: I5f5bfa2a7c70d10869f51edf5c40bbaab1ef93bc
parent f2d486e5
Loading
Loading
Loading
Loading
+8 −5
Original line number Diff line number Diff line
@@ -767,11 +767,6 @@ public class FloatingIconView extends View implements
        // Match the position of the original view.
        view.matchPositionOf(launcher, originalView, isOpening, positionOut);

        // Must be called after matchPositionOf so that we know what size to load.
        if (shouldLoadIcon) {
            view.checkIconResult(originalView, isOpening);
        }

        // We need to add it to the overlay, but keep it invisible until animation starts..
        view.setVisibility(INVISIBLE);
        parent.addView(view);
@@ -798,6 +793,14 @@ public class FloatingIconView extends View implements
                view.finish(dragLayer);
            }
        };

        // Must be called after matchPositionOf so that we know what size to load.
        // Must be called after the fastFinish listener and end runnable is created so that
        // the icon is not left in a hidden state.
        if (shouldLoadIcon) {
            view.checkIconResult(originalView, isOpening);
        }

        return view;
    }