From 051f571479edad249117d04f88c135973edff072 Mon Sep 17 00:00:00 2001 From: Oli Lan Date: Thu, 5 Jan 2023 17:50:41 +0000 Subject: [PATCH] Add UserManagerInternal method to get the main user id. This adds a method to get the id of the main user on the device. Currently this always returns the id of the system user. Bug: 256624031 Test: atest VpnManagerServiceTest (with topic) Merged-In: Ib36f3b372f9bf33cbb097c4af63eb43515ac835b Change-Id: I4aa0feb68083460c6aef917337e8bfc09a6788d4 --- .../java/com/android/server/pm/UserManagerInternal.java | 6 ++++++ .../core/java/com/android/server/pm/UserManagerService.java | 5 +++++ 2 files changed, 11 insertions(+) diff --git a/services/core/java/com/android/server/pm/UserManagerInternal.java b/services/core/java/com/android/server/pm/UserManagerInternal.java index 8dc94287688d1..cc58e5c2354f5 100644 --- a/services/core/java/com/android/server/pm/UserManagerInternal.java +++ b/services/core/java/com/android/server/pm/UserManagerInternal.java @@ -305,4 +305,10 @@ public abstract class UserManagerInternal { * for users that already existed on-disk from an older version of Android. */ public abstract boolean shouldIgnorePrepareStorageErrors(int userId); + + /** + * Returns the user id of the main user, or {@link android.os.UserHandle#USER_NULL} if there is + * no main user. + */ + public abstract @UserIdInt int getMainUserId(); } diff --git a/services/core/java/com/android/server/pm/UserManagerService.java b/services/core/java/com/android/server/pm/UserManagerService.java index b3dcf72819487..0a465e9efe5ad 100644 --- a/services/core/java/com/android/server/pm/UserManagerService.java +++ b/services/core/java/com/android/server/pm/UserManagerService.java @@ -6359,6 +6359,11 @@ public class UserManagerService extends IUserManager.Stub { return userData != null && userData.getIgnorePrepareStorageErrors(); } } + + @Override + public @UserIdInt int getMainUserId() { + return UserHandle.USER_SYSTEM; + } } /**