Loading quickstep/src/com/android/quickstep/util/BaseUnfoldMoveFromCenterAnimator.java +24 −12 Original line number Diff line number Diff line Loading @@ -100,22 +100,34 @@ public abstract class BaseUnfoldMoveFromCenterAnimator implements TransitionProg mMoveFromCenterAnimation.registerViewForAnimation(view); } protected void disableClipping(ViewGroup view) { /** * Sets clipToPadding for the view which then could be restored to the original value * using {@link BaseUnfoldMoveFromCenterAnimator#restoreClippings} method call * @param view view to set the property * @param clipToPadding value of the property */ protected void setClipToPadding(ViewGroup view, boolean clipToPadding) { mOriginalClipToPadding.put(view, view.getClipToPadding()); mOriginalClipChildren.put(view, view.getClipChildren()); view.setClipToPadding(false); view.setClipChildren(false); view.setClipToPadding(clipToPadding); } protected void restoreClipping(ViewGroup view) { final Boolean originalClipToPadding = mOriginalClipToPadding.get(view); if (originalClipToPadding != null) { view.setClipToPadding(originalClipToPadding); } final Boolean originalClipChildren = mOriginalClipChildren.get(view); if (originalClipChildren != null) { view.setClipChildren(originalClipChildren); /** * Sets clipChildren for the view which then could be restored to the original value * using {@link BaseUnfoldMoveFromCenterAnimator#restoreClippings} method call * @param view view to set the property * @param clipChildren value of the property */ protected void setClipChildren(ViewGroup view, boolean clipChildren) { mOriginalClipChildren.put(view, view.getClipChildren()); view.setClipChildren(clipChildren); } /** * Restores original clip properties after their modifications */ protected void restoreClippings() { mOriginalClipToPadding.forEach(ViewGroup::setClipToPadding); mOriginalClipChildren.forEach(ViewGroup::setClipChildren); } private class UnfoldMoveFromCenterRotationListener implements Loading quickstep/src/com/android/quickstep/util/UnfoldMoveFromCenterHotseatAnimator.java +3 −2 Original line number Diff line number Diff line Loading @@ -41,7 +41,8 @@ public class UnfoldMoveFromCenterHotseatAnimator extends BaseUnfoldMoveFromCente Hotseat hotseat = mLauncher.getHotseat(); ViewGroup hotseatIcons = hotseat.getShortcutsAndWidgets(); disableClipping(hotseat); setClipChildren(hotseat, false); setClipToPadding(hotseat, false); for (int i = 0; i < hotseatIcons.getChildCount(); i++) { View child = hotseatIcons.getChildAt(i); Loading @@ -51,7 +52,7 @@ public class UnfoldMoveFromCenterHotseatAnimator extends BaseUnfoldMoveFromCente @Override public void onTransitionFinished() { restoreClipping(mLauncher.getHotseat()); restoreClippings(); super.onTransitionFinished(); } } quickstep/src/com/android/quickstep/util/UnfoldMoveFromCenterWorkspaceAnimator.java +5 −4 Original line number Diff line number Diff line Loading @@ -47,7 +47,8 @@ public class UnfoldMoveFromCenterWorkspaceAnimator extends BaseUnfoldMoveFromCen final CellLayout cellLayout = (CellLayout) page; ShortcutAndWidgetContainer itemsContainer = cellLayout .getShortcutsAndWidgets(); disableClipping(cellLayout); setClipChildren(cellLayout, false); setClipToPadding(cellLayout, false); for (int i = 0; i < itemsContainer.getChildCount(); i++) { View child = itemsContainer.getChildAt(i); Loading @@ -55,13 +56,13 @@ public class UnfoldMoveFromCenterWorkspaceAnimator extends BaseUnfoldMoveFromCen } }); disableClipping(workspace); setClipChildren(workspace, false); setClipToPadding(workspace, true); } @Override public void onTransitionFinished() { restoreClipping(mLauncher.getWorkspace()); mLauncher.getWorkspace().forEachVisiblePage(page -> restoreClipping((CellLayout) page)); restoreClippings(); super.onTransitionFinished(); } } Loading
quickstep/src/com/android/quickstep/util/BaseUnfoldMoveFromCenterAnimator.java +24 −12 Original line number Diff line number Diff line Loading @@ -100,22 +100,34 @@ public abstract class BaseUnfoldMoveFromCenterAnimator implements TransitionProg mMoveFromCenterAnimation.registerViewForAnimation(view); } protected void disableClipping(ViewGroup view) { /** * Sets clipToPadding for the view which then could be restored to the original value * using {@link BaseUnfoldMoveFromCenterAnimator#restoreClippings} method call * @param view view to set the property * @param clipToPadding value of the property */ protected void setClipToPadding(ViewGroup view, boolean clipToPadding) { mOriginalClipToPadding.put(view, view.getClipToPadding()); mOriginalClipChildren.put(view, view.getClipChildren()); view.setClipToPadding(false); view.setClipChildren(false); view.setClipToPadding(clipToPadding); } protected void restoreClipping(ViewGroup view) { final Boolean originalClipToPadding = mOriginalClipToPadding.get(view); if (originalClipToPadding != null) { view.setClipToPadding(originalClipToPadding); } final Boolean originalClipChildren = mOriginalClipChildren.get(view); if (originalClipChildren != null) { view.setClipChildren(originalClipChildren); /** * Sets clipChildren for the view which then could be restored to the original value * using {@link BaseUnfoldMoveFromCenterAnimator#restoreClippings} method call * @param view view to set the property * @param clipChildren value of the property */ protected void setClipChildren(ViewGroup view, boolean clipChildren) { mOriginalClipChildren.put(view, view.getClipChildren()); view.setClipChildren(clipChildren); } /** * Restores original clip properties after their modifications */ protected void restoreClippings() { mOriginalClipToPadding.forEach(ViewGroup::setClipToPadding); mOriginalClipChildren.forEach(ViewGroup::setClipChildren); } private class UnfoldMoveFromCenterRotationListener implements Loading
quickstep/src/com/android/quickstep/util/UnfoldMoveFromCenterHotseatAnimator.java +3 −2 Original line number Diff line number Diff line Loading @@ -41,7 +41,8 @@ public class UnfoldMoveFromCenterHotseatAnimator extends BaseUnfoldMoveFromCente Hotseat hotseat = mLauncher.getHotseat(); ViewGroup hotseatIcons = hotseat.getShortcutsAndWidgets(); disableClipping(hotseat); setClipChildren(hotseat, false); setClipToPadding(hotseat, false); for (int i = 0; i < hotseatIcons.getChildCount(); i++) { View child = hotseatIcons.getChildAt(i); Loading @@ -51,7 +52,7 @@ public class UnfoldMoveFromCenterHotseatAnimator extends BaseUnfoldMoveFromCente @Override public void onTransitionFinished() { restoreClipping(mLauncher.getHotseat()); restoreClippings(); super.onTransitionFinished(); } }
quickstep/src/com/android/quickstep/util/UnfoldMoveFromCenterWorkspaceAnimator.java +5 −4 Original line number Diff line number Diff line Loading @@ -47,7 +47,8 @@ public class UnfoldMoveFromCenterWorkspaceAnimator extends BaseUnfoldMoveFromCen final CellLayout cellLayout = (CellLayout) page; ShortcutAndWidgetContainer itemsContainer = cellLayout .getShortcutsAndWidgets(); disableClipping(cellLayout); setClipChildren(cellLayout, false); setClipToPadding(cellLayout, false); for (int i = 0; i < itemsContainer.getChildCount(); i++) { View child = itemsContainer.getChildAt(i); Loading @@ -55,13 +56,13 @@ public class UnfoldMoveFromCenterWorkspaceAnimator extends BaseUnfoldMoveFromCen } }); disableClipping(workspace); setClipChildren(workspace, false); setClipToPadding(workspace, true); } @Override public void onTransitionFinished() { restoreClipping(mLauncher.getWorkspace()); mLauncher.getWorkspace().forEachVisiblePage(page -> restoreClipping((CellLayout) page)); restoreClippings(); super.onTransitionFinished(); } }