diff --git a/app/src/main/java/io/github/lsposed/manager/ui/activity/ModulesActivity.java b/app/src/main/java/io/github/lsposed/manager/ui/activity/ModulesActivity.java index cf223436..b6601929 100644 --- a/app/src/main/java/io/github/lsposed/manager/ui/activity/ModulesActivity.java +++ b/app/src/main/java/io/github/lsposed/manager/ui/activity/ModulesActivity.java @@ -74,7 +74,17 @@ public class ModulesActivity extends BaseActivity implements ModuleUtil.ModuleLi } } Comparator cmp = AppHelper.getAppListComparator(0, pm); - fullList.sort((a, b) -> cmp.compare(a.pkg, b.pkg)); + fullList.sort((a, b) -> { + boolean aChecked = moduleUtil.isModuleEnabled(a.packageName); + boolean bChecked = moduleUtil.isModuleEnabled(b.packageName); + if (aChecked == bChecked) { + return cmp.compare(a.pkg, b.pkg); + } else if (aChecked) { + return -1; + } else { + return 1; + } + }); adapter.addAll(showList); adapter.notifyDataSetChanged(); moduleUtil.updateModulesList();