diff --git a/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java b/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java index d05de697d40f2..86cfdb98b7154 100644 --- a/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java +++ b/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java @@ -434,6 +434,8 @@ class AppWidgetServiceImpl extends IAppWidgetService.Stub implements WidgetBacku } } + clearProvidersAndHostsTagsLocked(); + loadGroupWidgetProvidersLocked(newProfileIds); loadGroupStateLocked(newProfileIds); } @@ -2372,6 +2374,20 @@ class AppWidgetServiceImpl extends IAppWidgetService.Stub implements WidgetBacku } } + private void clearProvidersAndHostsTagsLocked() { + final int providerCount = mProviders.size(); + for (int i = 0; i < providerCount; i++) { + Provider provider = mProviders.get(i); + provider.tag = TAG_UNDEFINED; + } + + final int hostCount = mHosts.size(); + for (int i = 0; i < hostCount; i++) { + Host host = mHosts.get(i); + host.tag = TAG_UNDEFINED; + } + } + private boolean writeProfileStateToFileLocked(FileOutputStream stream, int userId) { int N;