diff options
-rw-r--r-- | services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java b/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java index 8febecc1ce4e..215be4a0ea2e 100644 --- a/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java +++ b/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java @@ -332,7 +332,12 @@ class AppWidgetServiceImpl extends IAppWidgetService.Stub implements WidgetBacku for (int i = N - 1; i >= 0; i--) { Provider provider = installedProviders.get(i); - ensureGroupStateLoadedLocked(provider.getUserId()); + final int userId = provider.getUserId(); + if (!mUserManager.isUserUnlocked(userId) || + isProfileWithLockedParent(userId)) { + continue; + } + ensureGroupStateLoadedLocked(userId); if (!removedProviders.contains(provider.id)) { final boolean changed = updateProvidersForPackageLocked( |