summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Zak Cohen <zakcohen@google.com> 2024-11-12 12:29:17 -0800
committer Zak Cohen <zakcohen@google.com> 2024-11-12 12:34:07 -0800
commitf2a15524e4f56a39ecbc68dc4835305bcdad2a1e (patch)
tree29c9f41318641d00374c72d1d30c8451b38cec08
parentc3696effd10d708d117627521a1a5f097ec8d85d (diff)
Address uses of USER_SYSTEM in AppWidgetService.
AppwidgetServiceImpl has some code that uses USER_SYSTEM as a proxy for the main user of a device. In HSUM mode this breaks. Change the backup and restore user to use getMainUser instead. Bug: 378507338 Test: AppWidgetServiceImplTest Flag: EXEMPT bug fix Change-Id: I7b0f79c90af73aecc19ab07a689bd551b822a42b
-rw-r--r--services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java3
1 files changed, 2 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 b221d74e2d86..827e3effcf32 100644
--- a/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java
+++ b/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java
@@ -607,7 +607,8 @@ class AppWidgetServiceImpl extends IAppWidgetService.Stub implements WidgetBacku
// ... and see if these are hosts we've been awaiting.
// NOTE: We are backing up and restoring only the owner.
// TODO: http://b/22388012
- if (newPackageAdded && userId == UserHandle.USER_SYSTEM) {
+ UserHandle mainUser = mUserManager.getMainUser();
+ if (newPackageAdded && mainUser != null && userId == mainUser.getIdentifier()) {
final int uid = getUidForPackage(pkgName, userId);
if (uid >= 0 ) {
resolveHostUidLocked(pkgName, uid);