diff --git a/core/src/main/java/org/lsposed/lspd/service/UserService.java b/core/src/main/java/org/lsposed/lspd/service/UserService.java index fcb1d64e..71e323c3 100644 --- a/core/src/main/java/org/lsposed/lspd/service/UserService.java +++ b/core/src/main/java/org/lsposed/lspd/service/UserService.java @@ -82,6 +82,8 @@ public class UserService { public static int getProfileParent(int userId) throws RemoteException { IUserManager um = getUserManager(); if (um == null) return -1; - return um.getProfileParentId(userId); + var userInfo = um.getProfileParent(userId); + if (userInfo == null) return userId; + else return userInfo.id; } } diff --git a/hiddenapi-stubs/src/main/java/android/os/IUserManager.java b/hiddenapi-stubs/src/main/java/android/os/IUserManager.java index 7e35a62f..7641c7cc 100644 --- a/hiddenapi-stubs/src/main/java/android/os/IUserManager.java +++ b/hiddenapi-stubs/src/main/java/android/os/IUserManager.java @@ -7,9 +7,6 @@ import androidx.annotation.RequiresApi; import java.util.List; public interface IUserManager extends IInterface { - - int getProfileParentId(int userId) throws RemoteException; - @RequiresApi(26) boolean isUserUnlocked(int userId) throws RemoteException; @@ -20,6 +17,8 @@ public interface IUserManager extends IInterface { List getUsers(boolean excludePartial, boolean excludeDying, boolean excludePreCreated) throws RemoteException; + UserInfo getProfileParent(int userId) throws RemoteException; + abstract class Stub extends Binder implements IUserManager { public static IUserManager asInterface(IBinder obj) {