[core] Fix get module source (#725)
This commit is contained in:
parent
9a66cec8b4
commit
f010322c91
|
|
@ -58,7 +58,7 @@ val verName: String by rootProject.extra
|
|||
dependencies {
|
||||
implementation("dev.rikka.ndk:riru:${moduleMinRiruVersionName}")
|
||||
implementation("dev.rikka.ndk.thirdparty:cxx:1.1.0")
|
||||
implementation("com.android.tools.build:apksig:7.0.0-beta01")
|
||||
implementation("com.android.tools.build:apksig:7.0.0-beta03")
|
||||
implementation("org.apache.commons:commons-lang3:3.12.0")
|
||||
implementation("de.upb.cs.swt:axml:2.1.1")
|
||||
compileOnly(project(":hiddenapi-stubs"))
|
||||
|
|
|
|||
|
|
@ -118,7 +118,7 @@ public class LSPManagerService extends ILSPManagerService.Stub {
|
|||
|
||||
@Override
|
||||
public boolean enableModule(String packageName) throws RemoteException {
|
||||
PackageInfo pkgInfo = PackageService.getPackageInfo(packageName, 0, 0);
|
||||
PackageInfo pkgInfo = PackageService.getPackageInfo(packageName, PackageService.MATCH_ALL_FLAGS, 0);
|
||||
if (pkgInfo == null) return false;
|
||||
return ConfigManager.getInstance().enableModule(packageName, pkgInfo.applicationInfo.sourceDir);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -74,6 +74,7 @@ public class PackageService {
|
|||
static final int INSTALL_FAILED_INTERNAL_ERROR = -110;
|
||||
static final int INSTALL_REASON_UNKNOWN = 0;
|
||||
|
||||
static final int MATCH_ALL_FLAGS = PackageManager.MATCH_DISABLED_COMPONENTS | PackageManager.MATCH_DIRECT_BOOT_AWARE | PackageManager.MATCH_DIRECT_BOOT_UNAWARE | PackageManager.MATCH_UNINSTALLED_PACKAGES;
|
||||
|
||||
private static IPackageManager pm = null;
|
||||
private static IBinder binder = null;
|
||||
|
|
@ -134,9 +135,8 @@ public class PackageService {
|
|||
}
|
||||
if (filterNoProcess) {
|
||||
res = res.stream().filter(packageInfo -> {
|
||||
int baseFlag = PackageManager.MATCH_DISABLED_COMPONENTS | PackageManager.MATCH_DIRECT_BOOT_AWARE | PackageManager.MATCH_DIRECT_BOOT_UNAWARE | PackageManager.MATCH_UNINSTALLED_PACKAGES;
|
||||
try {
|
||||
PackageInfo pkgInfo = getPackageInfoWithComponents(packageInfo.packageName, baseFlag, packageInfo.applicationInfo.uid / 100000);
|
||||
PackageInfo pkgInfo = getPackageInfoWithComponents(packageInfo.packageName, MATCH_ALL_FLAGS, packageInfo.applicationInfo.uid / 100000);
|
||||
return !fetchProcesses(pkgInfo).isEmpty();
|
||||
} catch (RemoteException e) {
|
||||
return true;
|
||||
|
|
@ -173,8 +173,7 @@ public class PackageService {
|
|||
public static Pair<Set<String>, Integer> fetchProcessesWithUid(Application app) throws RemoteException {
|
||||
IPackageManager pm = getPackageManager();
|
||||
if (pm == null) return new Pair<>(Collections.emptySet(), -1);
|
||||
int baseFlag = PackageManager.MATCH_DISABLED_COMPONENTS | PackageManager.MATCH_UNINSTALLED_PACKAGES | PackageManager.MATCH_DIRECT_BOOT_AWARE | PackageManager.MATCH_DIRECT_BOOT_UNAWARE;
|
||||
PackageInfo pkgInfo = getPackageInfoWithComponents(app.packageName, baseFlag, app.userId);
|
||||
PackageInfo pkgInfo = getPackageInfoWithComponents(app.packageName, MATCH_ALL_FLAGS, app.userId);
|
||||
if (pkgInfo == null || pkgInfo.applicationInfo == null)
|
||||
return new Pair<>(Collections.emptySet(), -1);
|
||||
return new Pair<>(fetchProcesses(pkgInfo), pkgInfo.applicationInfo.uid);
|
||||
|
|
|
|||
Loading…
Reference in New Issue