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) {
// We need to make sure to cancel our long press if
// a scrollable widget takes over touch events
final View currentPage = getPageAt(mCurrentPage);
currentPage.cancelLongPress();
cancelCurrentPageLongPress();
}
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.ShortcutAndWidgetContainer;
import com.android.launcher3.Utilities;
import com.android.launcher3.Workspace;
import com.android.launcher3.Workspace.ItemOperator;
import com.android.launcher3.accessibility.AccessibleDragListenerAdapter;
import com.android.launcher3.accessibility.FolderAccessibilityHelper;
@@ -534,9 +533,25 @@ public class Folder extends AbstractFloatingView implements ClipPathView, DragSo
}
private void startAnimation(final AnimatorSet a) {
final Workspace workspace = mLauncher.getWorkspace();
final CellLayout currentCellLayout =
(CellLayout) workspace.getChildAt(workspace.getCurrentPage());
mLauncher.getWorkspace().getVisiblePages()
.forEach(visiblePage -> addAnimatorListenerForPage(a, (CellLayout) visiblePage));
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 wasHardwareAccelerated = currentCellLayout.isHardwareLayerEnabled();
@@ -546,8 +561,6 @@ public class Folder extends AbstractFloatingView implements ClipPathView, DragSo
if (useHardware) {
currentCellLayout.enableHardwareLayer(true);
}
mState = STATE_ANIMATING;
mCurrentAnimator = a;
}
@Override
@@ -555,10 +568,8 @@ public class Folder extends AbstractFloatingView implements ClipPathView, DragSo
if (useHardware) {
currentCellLayout.enableHardwareLayer(wasHardwareAccelerated);
}
mCurrentAnimator = null;
}
});
a.start();
}
private boolean shouldUseHardwareLayerForAnimation(CellLayout currentCellLayout) {