Loading packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelView.java +1 −0 Original line number Diff line number Diff line Loading @@ -372,6 +372,7 @@ public abstract class PanelView extends FrameLayout { } protected void onTrackingStarted() { mClosing = false; mTracking = true; mCollapseAfterPeek = false; mBar.onTrackingStarted(PanelView.this); Loading packages/SystemUI/src/com/android/systemui/statusbar/stack/StackScrollAlgorithm.java +10 −4 Original line number Diff line number Diff line Loading @@ -738,8 +738,9 @@ public class StackScrollAlgorithm { if (mExpandedOnStart) { // We are collapsing the shade, so the first child can get as most as high as the // current height. mFirstChildMaxHeight = mFirstChildWhileExpanding.getActualHeight(); // current height or the end value of the animation. mFirstChildMaxHeight = StackStateAnimator.getFinalActualHeight( mFirstChildWhileExpanding); } else { updateFirstChildMaxSizeToMaxHeight(); } Loading Loading @@ -801,10 +802,15 @@ public class StackScrollAlgorithm { this.mIsExpanded = isExpanded; } public void notifyChildrenChanged(ViewGroup hostView) { public void notifyChildrenChanged(final ViewGroup hostView) { if (mIsExpansionChanging) { hostView.post(new Runnable() { @Override public void run() { updateFirstChildHeightWhileExpanding(hostView); } }); } } public void setDimmed(boolean dimmed) { Loading packages/SystemUI/src/com/android/systemui/statusbar/stack/StackStateAnimator.java +17 −1 Original line number Diff line number Diff line Loading @@ -709,7 +709,7 @@ public class StackStateAnimator { }; } private <T> T getChildTag(View child, int tag) { private static <T> T getChildTag(View child, int tag) { return (T) child.getTag(tag); } Loading Loading @@ -848,4 +848,20 @@ public class StackStateAnimator { currentAnimator.cancel(); } } /** * Get the end value of the height animation running on a view or the actualHeight * if no animation is running. */ public static int getFinalActualHeight(ExpandableView view) { if (view == null) { return 0; } ValueAnimator heightAnimator = getChildTag(view, TAG_ANIMATOR_HEIGHT); if (heightAnimator == null) { return view.getActualHeight(); } else { return getChildTag(view, TAG_END_HEIGHT); } } } Loading
packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelView.java +1 −0 Original line number Diff line number Diff line Loading @@ -372,6 +372,7 @@ public abstract class PanelView extends FrameLayout { } protected void onTrackingStarted() { mClosing = false; mTracking = true; mCollapseAfterPeek = false; mBar.onTrackingStarted(PanelView.this); Loading
packages/SystemUI/src/com/android/systemui/statusbar/stack/StackScrollAlgorithm.java +10 −4 Original line number Diff line number Diff line Loading @@ -738,8 +738,9 @@ public class StackScrollAlgorithm { if (mExpandedOnStart) { // We are collapsing the shade, so the first child can get as most as high as the // current height. mFirstChildMaxHeight = mFirstChildWhileExpanding.getActualHeight(); // current height or the end value of the animation. mFirstChildMaxHeight = StackStateAnimator.getFinalActualHeight( mFirstChildWhileExpanding); } else { updateFirstChildMaxSizeToMaxHeight(); } Loading Loading @@ -801,10 +802,15 @@ public class StackScrollAlgorithm { this.mIsExpanded = isExpanded; } public void notifyChildrenChanged(ViewGroup hostView) { public void notifyChildrenChanged(final ViewGroup hostView) { if (mIsExpansionChanging) { hostView.post(new Runnable() { @Override public void run() { updateFirstChildHeightWhileExpanding(hostView); } }); } } public void setDimmed(boolean dimmed) { Loading
packages/SystemUI/src/com/android/systemui/statusbar/stack/StackStateAnimator.java +17 −1 Original line number Diff line number Diff line Loading @@ -709,7 +709,7 @@ public class StackStateAnimator { }; } private <T> T getChildTag(View child, int tag) { private static <T> T getChildTag(View child, int tag) { return (T) child.getTag(tag); } Loading Loading @@ -848,4 +848,20 @@ public class StackStateAnimator { currentAnimator.cancel(); } } /** * Get the end value of the height animation running on a view or the actualHeight * if no animation is running. */ public static int getFinalActualHeight(ExpandableView view) { if (view == null) { return 0; } ValueAnimator heightAnimator = getChildTag(view, TAG_ANIMATOR_HEIGHT); if (heightAnimator == null) { return view.getActualHeight(); } else { return getChildTag(view, TAG_END_HEIGHT); } } }