Loading core/java/android/view/ViewGroup.java +23 −19 Original line number Diff line number Diff line Loading @@ -3182,6 +3182,24 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager mOnHierarchyChangeListener = listener; } /** * @hide */ protected void onViewAdded(View child) { if (mOnHierarchyChangeListener != null) { mOnHierarchyChangeListener.onChildViewAdded(this, child); } } /** * @hide */ protected void onViewRemoved(View child) { if (mOnHierarchyChangeListener != null) { mOnHierarchyChangeListener.onChildViewRemoved(this, child); } } /** * Adds a view during layout. This is useful if in your onLayout() method, * you need to add more views (as does the list view for example). Loading Loading @@ -3283,9 +3301,7 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager ai.mKeepScreenOn = lastKeepOn; } if (mOnHierarchyChangeListener != null) { mOnHierarchyChangeListener.onChildViewAdded(this, child); } onViewAdded(child); if ((child.mViewFlags & DUPLICATE_PARENT_STATE) == DUPLICATE_PARENT_STATE) { mGroupFlags |= FLAG_NOTIFY_CHILDREN_ON_DRAWABLE_STATE_CHANGE; Loading Loading @@ -3486,9 +3502,7 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager view.dispatchDetachedFromWindow(); } if (mOnHierarchyChangeListener != null) { mOnHierarchyChangeListener.onChildViewRemoved(this, view); } onViewRemoved(view); needGlobalAttributesUpdate(false); Loading Loading @@ -3533,8 +3547,6 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager } private void removeViewsInternal(int start, int count) { final OnHierarchyChangeListener onHierarchyChangeListener = mOnHierarchyChangeListener; final boolean notifyListener = onHierarchyChangeListener != null; final View focused = mFocused; final boolean detach = mAttachInfo != null; View clearChildFocus = null; Loading Loading @@ -3563,9 +3575,7 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager needGlobalAttributesUpdate(false); if (notifyListener) { onHierarchyChangeListener.onChildViewRemoved(this, view); } onViewRemoved(view); } removeFromArray(start, count); Loading Loading @@ -3603,8 +3613,6 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager final View[] children = mChildren; mChildrenCount = 0; final OnHierarchyChangeListener listener = mOnHierarchyChangeListener; final boolean notify = listener != null; final View focused = mFocused; final boolean detach = mAttachInfo != null; View clearChildFocus = null; Loading @@ -3630,9 +3638,7 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager view.dispatchDetachedFromWindow(); } if (notify) { listener.onChildViewRemoved(this, view); } onViewRemoved(view); view.mParent = null; children[i] = null; Loading Loading @@ -3672,9 +3678,7 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager child.dispatchDetachedFromWindow(); } if (mOnHierarchyChangeListener != null) { mOnHierarchyChangeListener.onChildViewRemoved(this, child); } onViewRemoved(child); } /** Loading core/java/android/widget/GridLayout.java +4 −47 Original line number Diff line number Diff line Loading @@ -758,38 +758,14 @@ public class GridLayout extends ViewGroup { // Add/remove @Override public void addView(View child, int index, ViewGroup.LayoutParams params) { super.addView(child, index, params); protected void onViewAdded(View child) { super.onViewAdded(child); invalidateStructure(); } @Override public void removeView(View view) { super.removeView(view); invalidateStructure(); } @Override public void removeViewInLayout(View view) { super.removeViewInLayout(view); invalidateStructure(); } @Override public void removeViewsInLayout(int start, int count) { super.removeViewsInLayout(start, count); invalidateStructure(); } @Override public void removeViewAt(int index) { super.removeViewAt(index); invalidateStructure(); } @Override public void removeAllViews() { super.removeAllViews(); protected void onViewRemoved(View child) { super.onViewRemoved(child); invalidateStructure(); } Loading Loading @@ -2300,25 +2276,6 @@ public class GridLayout extends ViewGroup { } } /** * Temporary backward compatibility class for Launcher - to avoid * dependent multi-project commit. This class will be deleted after * AppsCustomizePagedView is updated to new API. * * @hide */ @Deprecated public static class Group extends Spec { /** * @deprecated Please replace with {@link #spec(int, int, Alignment)} * @hide */ @Deprecated public Group(int start, int size, Alignment alignment) { super(start, size, alignment, UNDEFINED_FLEXIBILITY); } } /** * Return a Spec, {@code spec}, where: * <ul> Loading Loading
core/java/android/view/ViewGroup.java +23 −19 Original line number Diff line number Diff line Loading @@ -3182,6 +3182,24 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager mOnHierarchyChangeListener = listener; } /** * @hide */ protected void onViewAdded(View child) { if (mOnHierarchyChangeListener != null) { mOnHierarchyChangeListener.onChildViewAdded(this, child); } } /** * @hide */ protected void onViewRemoved(View child) { if (mOnHierarchyChangeListener != null) { mOnHierarchyChangeListener.onChildViewRemoved(this, child); } } /** * Adds a view during layout. This is useful if in your onLayout() method, * you need to add more views (as does the list view for example). Loading Loading @@ -3283,9 +3301,7 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager ai.mKeepScreenOn = lastKeepOn; } if (mOnHierarchyChangeListener != null) { mOnHierarchyChangeListener.onChildViewAdded(this, child); } onViewAdded(child); if ((child.mViewFlags & DUPLICATE_PARENT_STATE) == DUPLICATE_PARENT_STATE) { mGroupFlags |= FLAG_NOTIFY_CHILDREN_ON_DRAWABLE_STATE_CHANGE; Loading Loading @@ -3486,9 +3502,7 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager view.dispatchDetachedFromWindow(); } if (mOnHierarchyChangeListener != null) { mOnHierarchyChangeListener.onChildViewRemoved(this, view); } onViewRemoved(view); needGlobalAttributesUpdate(false); Loading Loading @@ -3533,8 +3547,6 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager } private void removeViewsInternal(int start, int count) { final OnHierarchyChangeListener onHierarchyChangeListener = mOnHierarchyChangeListener; final boolean notifyListener = onHierarchyChangeListener != null; final View focused = mFocused; final boolean detach = mAttachInfo != null; View clearChildFocus = null; Loading Loading @@ -3563,9 +3575,7 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager needGlobalAttributesUpdate(false); if (notifyListener) { onHierarchyChangeListener.onChildViewRemoved(this, view); } onViewRemoved(view); } removeFromArray(start, count); Loading Loading @@ -3603,8 +3613,6 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager final View[] children = mChildren; mChildrenCount = 0; final OnHierarchyChangeListener listener = mOnHierarchyChangeListener; final boolean notify = listener != null; final View focused = mFocused; final boolean detach = mAttachInfo != null; View clearChildFocus = null; Loading @@ -3630,9 +3638,7 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager view.dispatchDetachedFromWindow(); } if (notify) { listener.onChildViewRemoved(this, view); } onViewRemoved(view); view.mParent = null; children[i] = null; Loading Loading @@ -3672,9 +3678,7 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager child.dispatchDetachedFromWindow(); } if (mOnHierarchyChangeListener != null) { mOnHierarchyChangeListener.onChildViewRemoved(this, child); } onViewRemoved(child); } /** Loading
core/java/android/widget/GridLayout.java +4 −47 Original line number Diff line number Diff line Loading @@ -758,38 +758,14 @@ public class GridLayout extends ViewGroup { // Add/remove @Override public void addView(View child, int index, ViewGroup.LayoutParams params) { super.addView(child, index, params); protected void onViewAdded(View child) { super.onViewAdded(child); invalidateStructure(); } @Override public void removeView(View view) { super.removeView(view); invalidateStructure(); } @Override public void removeViewInLayout(View view) { super.removeViewInLayout(view); invalidateStructure(); } @Override public void removeViewsInLayout(int start, int count) { super.removeViewsInLayout(start, count); invalidateStructure(); } @Override public void removeViewAt(int index) { super.removeViewAt(index); invalidateStructure(); } @Override public void removeAllViews() { super.removeAllViews(); protected void onViewRemoved(View child) { super.onViewRemoved(child); invalidateStructure(); } Loading Loading @@ -2300,25 +2276,6 @@ public class GridLayout extends ViewGroup { } } /** * Temporary backward compatibility class for Launcher - to avoid * dependent multi-project commit. This class will be deleted after * AppsCustomizePagedView is updated to new API. * * @hide */ @Deprecated public static class Group extends Spec { /** * @deprecated Please replace with {@link #spec(int, int, Alignment)} * @hide */ @Deprecated public Group(int start, int size, Alignment alignment) { super(start, size, alignment, UNDEFINED_FLEXIBILITY); } } /** * Return a Spec, {@code spec}, where: * <ul> Loading