[app] Update module summary after fully uninstalling a module (#1457)

This commit is contained in:
Howard Wu 2021-11-29 22:16:19 +08:00 committed by GitHub
parent 62667a4e05
commit 08b813fded
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 7 additions and 18 deletions

View File

@ -102,10 +102,7 @@ public final class ModuleUtil {
enabledModules = new HashSet<>(Arrays.asList(ConfigManager.getEnabledModules()));
modulesLoaded = true;
for (var listener : listeners) {
listener.onModulesReloaded();
}
listeners.forEach(ModuleListener::onModulesReloaded);
}
public InstalledModule reloadSingleModule(String packageName, int userId) {
@ -113,19 +110,17 @@ public final class ModuleUtil {
}
public InstalledModule reloadSingleModule(String packageName, int userId, boolean packageFullyRemoved) {
if (packageFullyRemoved && isModuleEnabled(packageName))
if (packageFullyRemoved && isModuleEnabled(packageName)) {
enabledModules.remove(packageName);
listeners.forEach(ModuleListener::onModulesReloaded);
}
PackageInfo pkg;
try {
pkg = ConfigManager.getPackageInfo(packageName, PackageManager.GET_META_DATA, userId);
} catch (NameNotFoundException e) {
InstalledModule old = installedModules.remove(Pair.create(packageName, userId));
if (old != null) {
for (ModuleListener listener : listeners) {
listener.onSingleModuleReloaded(old);
}
}
if (old != null) listeners.forEach(i -> i.onSingleModuleReloaded(old));
return null;
}
@ -133,17 +128,11 @@ public final class ModuleUtil {
if (app.metaData != null && app.metaData.containsKey("xposedminversion")) {
InstalledModule module = new InstalledModule(pkg);
installedModules.put(Pair.create(packageName, userId), module);
for (ModuleListener listener : listeners) {
listener.onSingleModuleReloaded(module);
}
listeners.forEach(i -> i.onSingleModuleReloaded(module));
return module;
} else {
InstalledModule old = installedModules.remove(Pair.create(packageName, userId));
if (old != null) {
for (ModuleListener listener : listeners) {
listener.onSingleModuleReloaded(old);
}
}
if (old != null) listeners.forEach(i -> i.onSingleModuleReloaded(old));
return null;
}
}