Merge "Launcher home currentpage refactoring" into sc-dev

This commit is contained in:
András Klöczl
2021-04-11 23:03:30 +00:00
committed by Android (Google) Code Review
2 changed files with 20 additions and 10 deletions
+1 -2
View File
@@ -926,8 +926,7 @@ public abstract class PagedView<T extends View & PageIndicator> extends ViewGrou
if (disallowIntercept) { if (disallowIntercept) {
// We need to make sure to cancel our long press if // We need to make sure to cancel our long press if
// a scrollable widget takes over touch events // a scrollable widget takes over touch events
final View currentPage = getPageAt(mCurrentPage); cancelCurrentPageLongPress();
currentPage.cancelLongPress();
} }
super.requestDisallowInterceptTouchEvent(disallowIntercept); super.requestDisallowInterceptTouchEvent(disallowIntercept);
} }
+19 -8
View File
@@ -78,7 +78,6 @@ import com.android.launcher3.PagedView;
import com.android.launcher3.R; import com.android.launcher3.R;
import com.android.launcher3.ShortcutAndWidgetContainer; import com.android.launcher3.ShortcutAndWidgetContainer;
import com.android.launcher3.Utilities; import com.android.launcher3.Utilities;
import com.android.launcher3.Workspace;
import com.android.launcher3.Workspace.ItemOperator; import com.android.launcher3.Workspace.ItemOperator;
import com.android.launcher3.accessibility.AccessibleDragListenerAdapter; import com.android.launcher3.accessibility.AccessibleDragListenerAdapter;
import com.android.launcher3.accessibility.FolderAccessibilityHelper; import com.android.launcher3.accessibility.FolderAccessibilityHelper;
@@ -534,9 +533,25 @@ public class Folder extends AbstractFloatingView implements ClipPathView, DragSo
} }
private void startAnimation(final AnimatorSet a) { private void startAnimation(final AnimatorSet a) {
final Workspace workspace = mLauncher.getWorkspace(); mLauncher.getWorkspace().getVisiblePages()
final CellLayout currentCellLayout = .forEach(visiblePage -> addAnimatorListenerForPage(a, (CellLayout) visiblePage));
(CellLayout) workspace.getChildAt(workspace.getCurrentPage());
a.addListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationStart(Animator animation) {
mState = STATE_ANIMATING;
mCurrentAnimator = a;
}
@Override
public void onAnimationEnd(Animator animation) {
mCurrentAnimator = null;
}
});
a.start();
}
private void addAnimatorListenerForPage(AnimatorSet a, CellLayout currentCellLayout) {
final boolean useHardware = shouldUseHardwareLayerForAnimation(currentCellLayout); final boolean useHardware = shouldUseHardwareLayerForAnimation(currentCellLayout);
final boolean wasHardwareAccelerated = currentCellLayout.isHardwareLayerEnabled(); final boolean wasHardwareAccelerated = currentCellLayout.isHardwareLayerEnabled();
@@ -546,8 +561,6 @@ public class Folder extends AbstractFloatingView implements ClipPathView, DragSo
if (useHardware) { if (useHardware) {
currentCellLayout.enableHardwareLayer(true); currentCellLayout.enableHardwareLayer(true);
} }
mState = STATE_ANIMATING;
mCurrentAnimator = a;
} }
@Override @Override
@@ -555,10 +568,8 @@ public class Folder extends AbstractFloatingView implements ClipPathView, DragSo
if (useHardware) { if (useHardware) {
currentCellLayout.enableHardwareLayer(wasHardwareAccelerated); currentCellLayout.enableHardwareLayer(wasHardwareAccelerated);
} }
mCurrentAnimator = null;
} }
}); });
a.start();
} }
private boolean shouldUseHardwareLayerForAnimation(CellLayout currentCellLayout) { private boolean shouldUseHardwareLayerForAnimation(CellLayout currentCellLayout) {