Loading core/java/android/animation/LayoutTransition.java +8 −4 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ import android.view.animation.AccelerateDecelerateInterpolator; import android.view.animation.DecelerateInterpolator; import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; import java.util.LinkedHashMap; import java.util.List; Loading Loading @@ -615,10 +616,13 @@ public class LayoutTransition { observer.addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() { public boolean onPreDraw() { parent.getViewTreeObserver().removeOnPreDrawListener(this); int numChildren = parent.getChildCount(); for (int i = 0; i < numChildren; ++i) { final View child = parent.getChildAt(i); child.removeOnLayoutChangeListener(layoutChangeListenerMap.get(child)); int count = layoutChangeListenerMap.size(); if (count > 0) { Collection<View> views = layoutChangeListenerMap.keySet(); for (View view : views) { View.OnLayoutChangeListener listener = layoutChangeListenerMap.get(view); view.removeOnLayoutChangeListener(listener); } } layoutChangeListenerMap.clear(); return true; Loading core/java/android/view/View.java +3 −1 Original line number Diff line number Diff line Loading @@ -3335,8 +3335,10 @@ public class View implements Drawable.Callback, Drawable.Callback2, KeyEvent.Cal if (mOnLayoutChangeListeners == null) { mOnLayoutChangeListeners = new ArrayList<OnLayoutChangeListener>(); } if (!mOnLayoutChangeListeners.contains(listener)) { mOnLayoutChangeListeners.add(listener); } } /** * Remove a listener for layout changes. Loading Loading
core/java/android/animation/LayoutTransition.java +8 −4 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ import android.view.animation.AccelerateDecelerateInterpolator; import android.view.animation.DecelerateInterpolator; import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; import java.util.LinkedHashMap; import java.util.List; Loading Loading @@ -615,10 +616,13 @@ public class LayoutTransition { observer.addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() { public boolean onPreDraw() { parent.getViewTreeObserver().removeOnPreDrawListener(this); int numChildren = parent.getChildCount(); for (int i = 0; i < numChildren; ++i) { final View child = parent.getChildAt(i); child.removeOnLayoutChangeListener(layoutChangeListenerMap.get(child)); int count = layoutChangeListenerMap.size(); if (count > 0) { Collection<View> views = layoutChangeListenerMap.keySet(); for (View view : views) { View.OnLayoutChangeListener listener = layoutChangeListenerMap.get(view); view.removeOnLayoutChangeListener(listener); } } layoutChangeListenerMap.clear(); return true; Loading
core/java/android/view/View.java +3 −1 Original line number Diff line number Diff line Loading @@ -3335,8 +3335,10 @@ public class View implements Drawable.Callback, Drawable.Callback2, KeyEvent.Cal if (mOnLayoutChangeListeners == null) { mOnLayoutChangeListeners = new ArrayList<OnLayoutChangeListener>(); } if (!mOnLayoutChangeListeners.contains(listener)) { mOnLayoutChangeListeners.add(listener); } } /** * Remove a listener for layout changes. Loading