From 8d7e0bb4d8980fc01aae1abd22325ac87360af29 Mon Sep 17 00:00:00 2001 From: Nullptr Date: Tue, 29 Aug 2023 11:21:26 +0800 Subject: [PATCH] Don't add self to scope for modern modules (#2717) --- app/src/main/java/org/lsposed/manager/ConfigManager.java | 8 +++++++- .../java/org/lsposed/manager/adapters/ScopeAdapter.java | 6 +++--- .../main/java/org/lsposed/manager/util/BackupUtils.java | 2 +- .../main/java/org/lsposed/lspd/service/ConfigManager.java | 7 ------- 4 files changed, 11 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/org/lsposed/manager/ConfigManager.java b/app/src/main/java/org/lsposed/manager/ConfigManager.java index 35e48bfd..22dfca14 100644 --- a/app/src/main/java/org/lsposed/manager/ConfigManager.java +++ b/app/src/main/java/org/lsposed/manager/ConfigManager.java @@ -100,7 +100,7 @@ public class ConfigManager { } } - public static boolean setModuleScope(String packageName, Set applications) { + public static boolean setModuleScope(String packageName, boolean legacy, Set applications) { try { List list = new ArrayList<>(); applications.forEach(application -> { @@ -109,6 +109,12 @@ public class ConfigManager { app.packageName = application.packageName; list.add(app); }); + if (legacy) { + Application app = new Application(); + app.userId = 0; + app.packageName = packageName; + list.add(app); + } return LSPManagerServiceHolder.getService().setModuleScope(packageName, list); } catch (RemoteException e) { Log.e(App.TAG, Log.getStackTraceString(e)); diff --git a/app/src/main/java/org/lsposed/manager/adapters/ScopeAdapter.java b/app/src/main/java/org/lsposed/manager/adapters/ScopeAdapter.java index 0480dff9..25af2d31 100644 --- a/app/src/main/java/org/lsposed/manager/adapters/ScopeAdapter.java +++ b/app/src/main/java/org/lsposed/manager/adapters/ScopeAdapter.java @@ -136,7 +136,7 @@ public class ScopeAdapter extends EmptyStateRecyclerView.EmptyStateAdapter(checkedList); - if (isChecked && !tmpChkList.isEmpty() && !ConfigManager.setModuleScope(module.packageName, tmpChkList)) { + if (isChecked && !tmpChkList.isEmpty() && !ConfigManager.setModuleScope(module.packageName, module.legacy, tmpChkList)) { view.setChecked(false); enabled = false; } @@ -234,7 +234,7 @@ public class ScopeAdapter extends EmptyStateRecyclerView.EmptyStateAdapter(checkedList); tmpChkList.removeIf(i -> i.userId == module.userId); tmpChkList.addAll(recommendedList); - ConfigManager.setModuleScope(module.packageName, tmpChkList); + ConfigManager.setModuleScope(module.packageName, module.legacy, tmpChkList); checkedList = tmpChkList; fragment.runOnUiThread(this::notifyDataSetChanged); }); @@ -573,7 +573,7 @@ public class ScopeAdapter extends EmptyStateRecyclerView.EmptyStateAdapter { db.delete("scope", "mid = ?", new String[]{String.valueOf(mid)}); for (Application app : scopes) {