From 2225729ce2063aeb9e477a0d337d55c78331b0bd Mon Sep 17 00:00:00 2001 From: Jason Chiu Date: Thu, 1 Jun 2023 15:49:48 +0800 Subject: [PATCH] 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 --- src/com/android/settings/dashboard/CategoryManager.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/com/android/settings/dashboard/CategoryManager.java b/src/com/android/settings/dashboard/CategoryManager.java index b6ec4ca3269..091471bf9a1 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.ProviderTile; 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 class CategoryManager { } public synchronized List getCategories(Context context) { + if (!WizardManagerHelper.isUserSetupComplete(context)) { + return new ArrayList<>(); + } tryInitCategories(context); return mCategories; } @@ -140,6 +145,10 @@ public class CategoryManager { } 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) {