summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java7
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(