diff options
author | Schneider Victor-tulias <victortulias@google.com> | 2023-01-04 22:08:12 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2023-01-04 22:08:12 +0000 |
commit | 8aa04715919949616f14336b91f53546a66ecff8 (patch) | |
tree | 1cba507dc5502c2222e4cb2791d9e9c47d8e8eab | |
parent | 4835519ccb3037e9566059057f00a2271c6a4a18 (diff) | |
parent | 7bb558a57e17579f1de27d5da6dc1e9da64f733b (diff) | |
download | Launcher3-8aa04715919949616f14336b91f53546a66ecff8.tar.gz |
Merge "Add check for loading ever applied in check for page scrolls initialized" into tm-qpr-dev
-rw-r--r-- | quickstep/src/com/android/quickstep/views/RecentsView.java | 13 | ||||
-rw-r--r-- | src/com/android/launcher3/PagedView.java | 12 |
2 files changed, 18 insertions, 7 deletions
diff --git a/quickstep/src/com/android/quickstep/views/RecentsView.java b/quickstep/src/com/android/quickstep/views/RecentsView.java index 68628746a5..5e645ea917 100644 --- a/quickstep/src/com/android/quickstep/views/RecentsView.java +++ b/quickstep/src/com/android/quickstep/views/RecentsView.java @@ -1557,6 +1557,11 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T ActiveGestureErrorDetector.GestureEvent.SCROLLER_ANIMATION_ABORTED); } + @Override + protected boolean isPageScrollsInitialized() { + return super.isPageScrollsInitialized() && mLoadPlanEverApplied; + } + protected void applyLoadPlan(ArrayList<GroupTask> taskGroups) { if (mPendingAnimation != null) { mPendingAnimation.addEndListener(success -> applyLoadPlan(taskGroups)); @@ -1570,6 +1575,9 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T // With all tasks removed, touch handling in PagedView is disabled and we need to reset // touch state or otherwise values will be obsolete. resetTouchState(); + if (isPageScrollsInitialized()) { + onPageScrollsInitialized(); + } return; } @@ -1723,6 +1731,9 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T resetTaskVisuals(); onTaskStackUpdated(); updateEnabledOverlays(); + if (isPageScrollsInitialized()) { + onPageScrollsInitialized(); + } } private boolean isModal() { @@ -2066,7 +2077,7 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T if (!mActivity.getDeviceProfile().isTablet) { return super.getDestinationPage(scaledScroll); } - if (!pageScrollsInitialized()) { + if (!isPageScrollsInitialized()) { Log.e(TAG, "Cannot get destination page: RecentsView not properly initialized", new IllegalStateException()); diff --git a/src/com/android/launcher3/PagedView.java b/src/com/android/launcher3/PagedView.java index eb68adb3e8..4f5cc4a980 100644 --- a/src/com/android/launcher3/PagedView.java +++ b/src/com/android/launcher3/PagedView.java @@ -699,7 +699,7 @@ public abstract class PagedView<T extends View & PageIndicator> extends ViewGrou } /** Returns true iff this PagedView's scroll amounts are initialized to each page index. */ - protected boolean pageScrollsInitialized() { + protected boolean isPageScrollsInitialized() { return mPageScrolls != null && mPageScrolls.length == getChildCount(); } @@ -708,12 +708,12 @@ public abstract class PagedView<T extends View & PageIndicator> extends ViewGrou */ public void runOnPageScrollsInitialized(Runnable callback) { mOnPageScrollsInitializedCallbacks.add(callback); - if (pageScrollsInitialized()) { + if (isPageScrollsInitialized()) { onPageScrollsInitialized(); } } - private void onPageScrollsInitialized() { + protected void onPageScrollsInitialized() { for (Runnable callback : mOnPageScrollsInitializedCallbacks) { callback.run(); } @@ -727,7 +727,7 @@ public abstract class PagedView<T extends View & PageIndicator> extends ViewGrou final int childCount = getChildCount(); int[] pageScrolls = mPageScrolls; boolean pageScrollChanged = false; - if (!pageScrollsInitialized()) { + if (!isPageScrollsInitialized()) { pageScrolls = new int[childCount]; pageScrollChanged = true; } @@ -1199,7 +1199,7 @@ public abstract class PagedView<T extends View & PageIndicator> extends ViewGrou } public int getScrollForPage(int index) { - if (!pageScrollsInitialized() || index >= mPageScrolls.length || index < 0) { + if (!isPageScrollsInitialized() || index >= mPageScrolls.length || index < 0) { return 0; } else { return mPageScrolls[index]; @@ -1209,7 +1209,7 @@ public abstract class PagedView<T extends View & PageIndicator> extends ViewGrou // While layout transitions are occurring, a child's position may stray from its baseline // position. This method returns the magnitude of this stray at any given time. public int getLayoutTransitionOffsetForPage(int index) { - if (!pageScrollsInitialized() || index >= mPageScrolls.length || index < 0) { + if (!isPageScrollsInitialized() || index >= mPageScrolls.length || index < 0) { return 0; } else { View child = getChildAt(index); |