Do not init dashboard categories when SetupWizard isn't finished yet

The generated category cache during SetupWizard flow is invalid.

Bug: 261885832
Test: manual
Change-Id: Id2108b2cc4ab557b086c4dbbd5dc7722c73e74d3
diff --git a/src/com/android/settings/dashboard/CategoryManager.java b/src/com/android/settings/dashboard/CategoryManager.java
index b6ec4ca..091471b 100644
--- a/src/com/android/settings/dashboard/CategoryManager.java
+++ b/src/com/android/settings/dashboard/CategoryManager.java
@@ -33,6 +33,8 @@
 import com.android.settingslib.drawer.Tile;
 import com.android.settingslib.drawer.TileUtils;
 
+import com.google.android.setupcompat.util.WizardManagerHelper;
+
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -77,6 +79,9 @@
     }
 
     public synchronized List<DashboardCategory> getCategories(Context context) {
+        if (!WizardManagerHelper.isUserSetupComplete(context)) {
+            return new ArrayList<>();
+        }
         tryInitCategories(context);
         return mCategories;
     }
@@ -140,6 +145,10 @@
     }
 
     private synchronized void tryInitCategories(Context context, boolean forceClearCache) {
+        if (!WizardManagerHelper.isUserSetupComplete(context)) {
+            // Don't init while setup wizard is still running.
+            return;
+        }
         if (mCategories == null) {
             final boolean firstLoading = mCategoryByKeyMap.isEmpty();
             if (forceClearCache) {