From 7c8f8a0a41d98f38e1cb326cd259786078243bbd Mon Sep 17 00:00:00 2001 From: Fan Zhang Date: Fri, 17 Mar 2017 12:54:24 -0700 Subject: [PATCH] Attemp to fix a concurrent modify exception Change-Id: I039091d43ba8c378066c26dcca416534d0f52d21 Fix: 36347434 Test: existing tests pass --- src/com/android/settings/SettingsActivity.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/com/android/settings/SettingsActivity.java b/src/com/android/settings/SettingsActivity.java index 2fa147e70bd..73561a66d28 100644 --- a/src/com/android/settings/SettingsActivity.java +++ b/src/com/android/settings/SettingsActivity.java @@ -68,7 +68,6 @@ import com.android.settings.wfd.WifiDisplaySettings; import com.android.settings.widget.SwitchBar; import com.android.settingslib.drawer.DashboardCategory; import com.android.settingslib.drawer.SettingsDrawerActivity; -import com.android.settingslib.drawer.Tile; import java.util.ArrayList; import java.util.List; @@ -879,8 +878,10 @@ public class SettingsActivity extends SettingsDrawerActivity final List categories = mDashboardFeatureProvider.getAllCategories(); synchronized (categories) { for (DashboardCategory category : categories) { - for (Tile tile : category.tiles) { - ComponentName component = tile.intent.getComponent(); + final int tileCount = category.getTilesCount(); + for (int i = 0; i < tileCount; i++) { + final ComponentName component = category.getTile(i).intent.getComponent(); + final String name = component.getClassName(); final boolean isEnabledForRestricted = ArrayUtils.contains( SettingsGateway.SETTINGS_FOR_RESTRICTED, name);