Read enabled modules from enabled_modules.list
This commit is contained in:
parent
e6b9661465
commit
2d85cd5482
|
|
@ -245,6 +245,20 @@ public class AppHelper {
|
||||||
menuHelper.show();
|
menuHelper.show();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static List<String> getEnabledModuleList() {
|
||||||
|
File file = new File(Constants.getEnabledModulesListFile());
|
||||||
|
List<String> s = new ArrayList<>();
|
||||||
|
try {
|
||||||
|
BufferedReader bufferedReader = new BufferedReader(new FileReader(file));
|
||||||
|
for (String line; (line = bufferedReader.readLine()) != null; ) {
|
||||||
|
s.add(line);
|
||||||
|
}
|
||||||
|
} catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
return s;
|
||||||
|
}
|
||||||
|
|
||||||
static List<String> getScopeList(String modulePackageName) {
|
static List<String> getScopeList(String modulePackageName) {
|
||||||
if (scopeList.containsKey(modulePackageName)) {
|
if (scopeList.containsKey(modulePackageName)) {
|
||||||
return scopeList.get(modulePackageName);
|
return scopeList.get(modulePackageName);
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,5 @@
|
||||||
package org.meowcat.edxposed.manager.util;
|
package org.meowcat.edxposed.manager.util;
|
||||||
|
|
||||||
import android.content.Context;
|
|
||||||
import android.content.SharedPreferences;
|
|
||||||
import android.content.pm.ApplicationInfo;
|
import android.content.pm.ApplicationInfo;
|
||||||
import android.content.pm.PackageInfo;
|
import android.content.pm.PackageInfo;
|
||||||
import android.content.pm.PackageManager;
|
import android.content.pm.PackageManager;
|
||||||
|
|
@ -17,6 +15,7 @@ import com.google.android.material.snackbar.Snackbar;
|
||||||
import org.meowcat.edxposed.manager.App;
|
import org.meowcat.edxposed.manager.App;
|
||||||
import org.meowcat.edxposed.manager.Constants;
|
import org.meowcat.edxposed.manager.Constants;
|
||||||
import org.meowcat.edxposed.manager.R;
|
import org.meowcat.edxposed.manager.R;
|
||||||
|
import org.meowcat.edxposed.manager.adapters.AppHelper;
|
||||||
import org.meowcat.edxposed.manager.databinding.ActivityModulesBinding;
|
import org.meowcat.edxposed.manager.databinding.ActivityModulesBinding;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
@ -33,15 +32,15 @@ public final class ModuleUtil {
|
||||||
private static ModuleUtil instance = null;
|
private static ModuleUtil instance = null;
|
||||||
private final PackageManager pm;
|
private final PackageManager pm;
|
||||||
private final List<ModuleListener> listeners = new CopyOnWriteArrayList<>();
|
private final List<ModuleListener> listeners = new CopyOnWriteArrayList<>();
|
||||||
private final SharedPreferences pref;
|
|
||||||
//private InstalledModule framework = null;
|
//private InstalledModule framework = null;
|
||||||
private Map<String, InstalledModule> installedModules;
|
private Map<String, InstalledModule> installedModules;
|
||||||
|
private final List<String> enabledModules;
|
||||||
private boolean isReloading = false;
|
private boolean isReloading = false;
|
||||||
private Toast toast;
|
private Toast toast;
|
||||||
|
|
||||||
private ModuleUtil() {
|
private ModuleUtil() {
|
||||||
pref = App.getInstance().getSharedPreferences("enabled_modules", Context.MODE_PRIVATE);
|
|
||||||
pm = App.getInstance().getPackageManager();
|
pm = App.getInstance().getPackageManager();
|
||||||
|
enabledModules = AppHelper.getEnabledModuleList();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static synchronized ModuleUtil getInstance() {
|
public static synchronized ModuleUtil getInstance() {
|
||||||
|
|
@ -140,9 +139,9 @@ public final class ModuleUtil {
|
||||||
|
|
||||||
public void setModuleEnabled(String packageName, boolean enabled) {
|
public void setModuleEnabled(String packageName, boolean enabled) {
|
||||||
if (enabled) {
|
if (enabled) {
|
||||||
pref.edit().putInt(packageName, 1).apply();
|
enabledModules.add(packageName);
|
||||||
} else {
|
} else {
|
||||||
pref.edit().remove(packageName).apply();
|
enabledModules.remove(packageName);
|
||||||
}
|
}
|
||||||
for (ModuleListener listener : listeners) {
|
for (ModuleListener listener : listeners) {
|
||||||
listener.onModuleEnableChange(instance);
|
listener.onModuleEnableChange(instance);
|
||||||
|
|
@ -150,13 +149,13 @@ public final class ModuleUtil {
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isModuleEnabled(String packageName) {
|
public boolean isModuleEnabled(String packageName) {
|
||||||
return pref.contains(packageName);
|
return enabledModules.contains(packageName);
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<InstalledModule> getEnabledModules() {
|
public List<InstalledModule> getEnabledModules() {
|
||||||
LinkedList<InstalledModule> result = new LinkedList<>();
|
LinkedList<InstalledModule> result = new LinkedList<>();
|
||||||
|
|
||||||
for (String packageName : pref.getAll().keySet()) {
|
for (String packageName : enabledModules) {
|
||||||
InstalledModule module = getModule(packageName);
|
InstalledModule module = getModule(packageName);
|
||||||
if (module != null)
|
if (module != null)
|
||||||
result.add(module);
|
result.add(module);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue