From 7ea7f9e9b69d3378ff63154b71e1894238239cde Mon Sep 17 00:00:00 2001 From: vvb2060 Date: Sat, 7 Aug 2021 21:09:35 +0800 Subject: [PATCH] What a Terrible Failure (#868) --- .../lsposed/lspd/service/LSPManagerService.java | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/core/src/main/java/org/lsposed/lspd/service/LSPManagerService.java b/core/src/main/java/org/lsposed/lspd/service/LSPManagerService.java index 2a5da175..9bf759fc 100644 --- a/core/src/main/java/org/lsposed/lspd/service/LSPManagerService.java +++ b/core/src/main/java/org/lsposed/lspd/service/LSPManagerService.java @@ -25,6 +25,7 @@ import static org.lsposed.lspd.service.ServiceManager.TAG; import android.app.IServiceConnection; import android.content.ComponentName; import android.content.Intent; +import android.content.pm.ApplicationInfo; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; @@ -123,8 +124,18 @@ public class LSPManagerService extends ILSPManagerService.Stub { @Override public boolean enableModule(String packageName) throws RemoteException { PackageInfo pkgInfo = PackageService.getPackageInfo(packageName, PackageService.MATCH_ALL_FLAGS, 0); - if (pkgInfo == null) return false; - return ConfigManager.getInstance().enableModule(packageName, pkgInfo.applicationInfo); + if (pkgInfo != null) { + ApplicationInfo appInfo; + try { + appInfo = pkgInfo.applicationInfo; + } catch (Throwable t) { + Log.wtf(TAG, t); + throw t; + } + return ConfigManager.getInstance().enableModule(packageName, appInfo); + } else { + return false; + } } @Override