summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Zak Cohen <zakcohen@google.com> 2024-11-11 20:51:46 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2024-11-11 20:51:46 +0000
commitd22f0f95a595674f79287dc9880da17612f4b0c3 (patch)
treeb341639c4b1b200e7953e9242b5e5145eceb724a
parent1572437c3234126ea28502dd394737434e83b2ea (diff)
parent99d5cb1b3e135d6de7830ec956cb8f9371b85963 (diff)
Merge "Address uses of USER_SYSTEM in AppWidgetService." into main
-rw-r--r--services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java5
1 files changed, 3 insertions, 2 deletions
diff --git a/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java b/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java
index 8567ccb9e7a5..261da4dc097f 100644
--- a/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java
+++ b/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java
@@ -611,7 +611,7 @@ 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) {
+ if (newPackageAdded && userId == mUserManager.getMainUser().getIdentifier()) {
final int uid = getUidForPackage(pkgName, userId);
if (uid >= 0 ) {
resolveHostUidLocked(pkgName, uid);
@@ -4436,7 +4436,7 @@ class AppWidgetServiceImpl extends IAppWidgetService.Stub implements WidgetBacku
Host host = lookupHostLocked(oldHostId);
if (host != null) {
final int uid = getUidForPackage(NEW_KEYGUARD_HOST_PACKAGE,
- UserHandle.USER_SYSTEM);
+ UserHandle.USER_SYSTEM); // Keyguard explicitly runs as the system user
if (uid >= 0) {
host.id = new HostId(uid, KEYGUARD_HOST_ID, NEW_KEYGUARD_HOST_PACKAGE);
}
@@ -4457,6 +4457,7 @@ class AppWidgetServiceImpl extends IAppWidgetService.Stub implements WidgetBacku
private static AtomicFile getSavedStateFile(int userId) {
File dir = Environment.getUserSystemDirectory(userId);
File settingsFile = getStateFile(userId);
+ // USER_SYSTEM is explicit here, the old file only ever existed for user 0.
if (!settingsFile.exists() && userId == UserHandle.USER_SYSTEM) {
if (!dir.exists()) {
dir.mkdirs();