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 8ea5cf4..2206af9 100644
--- a/src/com/android/settings/dashboard/CategoryManager.java
+++ b/src/com/android/settings/dashboard/CategoryManager.java
@@ -34,6 +34,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;
@@ -79,6 +81,9 @@
}
public synchronized List<DashboardCategory> getCategories(Context context) {
+ if (!WizardManagerHelper.isUserSetupComplete(context)) {
+ return new ArrayList<>();
+ }
tryInitCategories(context);
return mCategories;
}
@@ -142,6 +147,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) {