Return mSynchronouslyBoundPages as getPagesToBindSynchronously between onInitialBindCompleteand finishBindingItems

- Otherwise it'll return wrong currentPage value, as currentPage aren't updated until finishBindingItems
- There is still problem that wallpaper jumps to page 0 and then to the desired page: https://drive.google.com/file/d/132Sq5oRZKRclhdh1Ls1RaHNEVXJQcrxC/view?usp=sharing&resourcekey=0-l2N9NWtZ8FqfaVT0bVGVqw

Bug: 191657065
Test: manual
Change-Id: I7ec167b617a8f59865e959d9dd677256b1ab4ef9
diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java
index 4d5cc5e..7fa8d16 100644
--- a/src/com/android/launcher3/Launcher.java
+++ b/src/com/android/launcher3/Launcher.java
@@ -2094,8 +2094,16 @@
 
     @Override
     public IntSet getPagesToBindSynchronously(IntArray orderedScreenIds) {
-        IntSet visibleIds = mPagesToBindSynchronously.isEmpty()
-                ? mWorkspace.getCurrentPageScreenIds() : mPagesToBindSynchronously;
+        IntSet visibleIds;
+        if (!mPagesToBindSynchronously.isEmpty()) {
+            visibleIds = mPagesToBindSynchronously;
+        } else if (!mWorkspaceLoading) {
+            visibleIds = mWorkspace.getCurrentPageScreenIds();
+        } else {
+            // If workspace binding is still in progress, getCurrentPageScreenIds won't be accurate,
+            // and we should use mSynchronouslyBoundPages that's set during initial binding.
+            visibleIds = mSynchronouslyBoundPages;
+        }
         IntArray actualIds = new IntArray();
 
         IntSet result = new IntSet();