diff --git a/app/src/main/java/org/meowcat/edxposed/manager/util/ModuleUtil.java b/app/src/main/java/org/meowcat/edxposed/manager/util/ModuleUtil.java index dd8d57a5..89acda77 100644 --- a/app/src/main/java/org/meowcat/edxposed/manager/util/ModuleUtil.java +++ b/app/src/main/java/org/meowcat/edxposed/manager/util/ModuleUtil.java @@ -22,6 +22,7 @@ import org.meowcat.edxposed.manager.databinding.ActivityModulesBinding; import java.io.IOException; import java.io.PrintWriter; import java.util.HashMap; +import java.util.Iterator; import java.util.LinkedList; import java.util.List; import java.util.Map; @@ -157,15 +158,15 @@ public final class ModuleUtil { public List getEnabledModules() { LinkedList result = new LinkedList<>(); - - for (String packageName : enabledModules) { - InstalledModule module = getModule(packageName); - if (module != null) + Iterator iterator = enabledModules.iterator(); + while (iterator.hasNext()) { + InstalledModule module = getModule(iterator.next()); + if (module != null) { result.add(module); - else - setModuleEnabled(packageName, false); + } else { + iterator.remove(); + } } - return result; }