From 2293acbe2753e6e40733c2ed57009c563b629339 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Furkan=20Karc=C4=B1o=C4=9Flu?= <45714956+frknkrc44@users.noreply.github.com> Date: Fri, 18 Jul 2025 05:42:14 +0300 Subject: [PATCH] Fix support for Android 16 QPR Beta 3 (#326) The function signature of `getUsers` in class `android.os.IUserManager` is changed to `getUsers(Z)Ljava/util/List;` in Android 16 QPR Beta 3. The corresponding calls to this function are updated to fix this incompatibility, which was initially observed on Android Canary. --- .../java/org/lsposed/lspd/service/UserService.java | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/daemon/src/main/java/org/lsposed/lspd/service/UserService.java b/daemon/src/main/java/org/lsposed/lspd/service/UserService.java index ce9c40aa..f6eee559 100644 --- a/daemon/src/main/java/org/lsposed/lspd/service/UserService.java +++ b/daemon/src/main/java/org/lsposed/lspd/service/UserService.java @@ -71,14 +71,10 @@ public class UserService { IUserManager um = getUserManager(); List users = new LinkedList<>(); if (um == null) return users; - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { + try { + users = um.getUsers(true); + } catch (NoSuchMethodError e) { users = um.getUsers(true, true, true); - } else { - try { - users = um.getUsers(true); - } catch (NoSuchMethodError e) { - users = um.getUsers(true, true, true); - } } if (Utils.isLENOVO) { // lenovo hides user [900, 910) for app cloning var gotUsers = new boolean[10];