From 1589a661af7fc832b38b281ad69ed5513b15ef7f Mon Sep 17 00:00:00 2001 From: bkchoi Date: Wed, 19 Jul 2023 16:01:35 -0700 Subject: [PATCH] Allow SYSTEM user in Automotive instead of main user. There are devices where main user is not defined, such as Automotive, and no uid could pass enforceUid(). Allow SYSTEM user for such cases. Bug: 285758762 Test: atest com.google.android.gts.persistentdata.PersistentDataHostTest Change-Id: Ieef580962e12f70ef429ebc2532312a5008167a2 --- .../java/com/android/server/PersistentDataBlockService.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/services/core/java/com/android/server/PersistentDataBlockService.java b/services/core/java/com/android/server/PersistentDataBlockService.java index 6fd6afed49b90..754a7ede80069 100644 --- a/services/core/java/com/android/server/PersistentDataBlockService.java +++ b/services/core/java/com/android/server/PersistentDataBlockService.java @@ -159,9 +159,10 @@ public class PersistentDataBlockService extends SystemService { private int getAllowedUid() { final UserManagerInternal umInternal = LocalServices.getService(UserManagerInternal.class); - final int mainUserId = umInternal.getMainUserId(); + int mainUserId = umInternal.getMainUserId(); if (mainUserId < 0) { - return -1; + // If main user is not defined. Use the SYSTEM user instead. + mainUserId = UserHandle.USER_SYSTEM; } String allowedPackage = mContext.getResources() .getString(R.string.config_persistentDataPackageName);