From 7e2a3608b6fa51c884e051625e10d13597cb8796 Mon Sep 17 00:00:00 2001 From: Sunny Goyal Date: Mon, 20 Apr 2015 18:19:25 -0700 Subject: Preventing concurrent modification exception during widget restore Change-Id: If896c5ea7136d132f30be8127b651449bde17447 --- src/com/android/launcher3/LauncherAppWidgetHost.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/com/android/launcher3/LauncherAppWidgetHost.java b/src/com/android/launcher3/LauncherAppWidgetHost.java index a28fd255a..583f85ad0 100644 --- a/src/com/android/launcher3/LauncherAppWidgetHost.java +++ b/src/com/android/launcher3/LauncherAppWidgetHost.java @@ -84,8 +84,10 @@ public class LauncherAppWidgetHost extends AppWidgetHost { mLauncher.bindPackagesUpdated(LauncherModel.getSortedWidgetsAndShortcuts(mLauncher, true /* refresh */)); - for (Runnable callback : mProviderChangeListeners) { - callback.run(); + if (!mProviderChangeListeners.isEmpty()) { + for (Runnable callback : new ArrayList<>(mProviderChangeListeners)) { + callback.run(); + } } } -- cgit v1.2.3