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

Commit 3ecf835e authored by Chet Haase's avatar Chet Haase Committed by Android Git Automerger
Browse files

am 2954cd91: Add start/endTransition events for CHANGE transitions

* commit '2954cd91':
  Add start/endTransition events for CHANGE transitions
parents a657f113 2954cd91
Loading
Loading
Loading
Loading
+20 −0
Original line number Original line Diff line number Diff line
@@ -600,6 +600,18 @@ public class LayoutTransition {
                // Remove the animation from the cache when it ends
                // Remove the animation from the cache when it ends
                anim.addListener(new AnimatorListenerAdapter() {
                anim.addListener(new AnimatorListenerAdapter() {
                    private boolean canceled = false;
                    private boolean canceled = false;

                    @Override
                    public void onAnimationStart(Animator animator) {
                        if (mListeners != null) {
                            for (TransitionListener listener : mListeners) {
                                listener.startTransition(LayoutTransition.this, parent, child,
                                        changeReason == APPEARING ?
                                                CHANGE_APPEARING : CHANGE_DISAPPEARING);
                            }
                        }
                    }

                    @Override
                    @Override
                    public void onAnimationCancel(Animator animator) {
                    public void onAnimationCancel(Animator animator) {
                        // we remove canceled animations immediately, not here
                        // we remove canceled animations immediately, not here
@@ -607,11 +619,19 @@ public class LayoutTransition {
                        child.removeOnLayoutChangeListener(listener);
                        child.removeOnLayoutChangeListener(listener);
                        layoutChangeListenerMap.remove(child);
                        layoutChangeListenerMap.remove(child);
                    }
                    }

                    @Override
                    @Override
                    public void onAnimationEnd(Animator animator) {
                    public void onAnimationEnd(Animator animator) {
                        if (!canceled) {
                        if (!canceled) {
                            currentChangingAnimations.remove(child);
                            currentChangingAnimations.remove(child);
                        }
                        }
                        if (mListeners != null) {
                            for (TransitionListener listener : mListeners) {
                                listener.endTransition(LayoutTransition.this, parent, child,
                                        changeReason == APPEARING ?
                                                CHANGE_APPEARING : CHANGE_DISAPPEARING);
                            }
                        }
                    }
                    }
                });
                });