[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 {
|
dependencies {
|
||||||
implementation("dev.rikka.ndk:riru:${moduleMinRiruVersionName}")
|
implementation("dev.rikka.ndk:riru:${moduleMinRiruVersionName}")
|
||||||
implementation("dev.rikka.ndk.thirdparty:cxx:1.1.0")
|
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("org.apache.commons:commons-lang3:3.12.0")
|
||||||
implementation("de.upb.cs.swt:axml:2.1.1")
|
implementation("de.upb.cs.swt:axml:2.1.1")
|
||||||
compileOnly(project(":hiddenapi-stubs"))
|
compileOnly(project(":hiddenapi-stubs"))
|
||||||
|
|
|
||||||
|
|
@ -118,7 +118,7 @@ public class LSPManagerService extends ILSPManagerService.Stub {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean enableModule(String packageName) throws RemoteException {
|
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;
|
if (pkgInfo == null) return false;
|
||||||
return ConfigManager.getInstance().enableModule(packageName, pkgInfo.applicationInfo.sourceDir);
|
return ConfigManager.getInstance().enableModule(packageName, pkgInfo.applicationInfo.sourceDir);
|
||||||
}
|
}
|
||||||
|
|
@ -210,7 +210,7 @@ public class LSPManagerService extends ILSPManagerService.Stub {
|
||||||
@Override
|
@Override
|
||||||
public List<UserInfo> getUsers() throws RemoteException {
|
public List<UserInfo> getUsers() throws RemoteException {
|
||||||
var users = new LinkedList<UserInfo>();
|
var users = new LinkedList<UserInfo>();
|
||||||
for(var user: UserService.getUsers()){
|
for (var user : UserService.getUsers()) {
|
||||||
var info = new UserInfo();
|
var info = new UserInfo();
|
||||||
info.id = user.id;
|
info.id = user.id;
|
||||||
info.name = user.name;
|
info.name = user.name;
|
||||||
|
|
|
||||||
|
|
@ -74,6 +74,7 @@ public class PackageService {
|
||||||
static final int INSTALL_FAILED_INTERNAL_ERROR = -110;
|
static final int INSTALL_FAILED_INTERNAL_ERROR = -110;
|
||||||
static final int INSTALL_REASON_UNKNOWN = 0;
|
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 IPackageManager pm = null;
|
||||||
private static IBinder binder = null;
|
private static IBinder binder = null;
|
||||||
|
|
@ -134,9 +135,8 @@ public class PackageService {
|
||||||
}
|
}
|
||||||
if (filterNoProcess) {
|
if (filterNoProcess) {
|
||||||
res = res.stream().filter(packageInfo -> {
|
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 {
|
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();
|
return !fetchProcesses(pkgInfo).isEmpty();
|
||||||
} catch (RemoteException e) {
|
} catch (RemoteException e) {
|
||||||
return true;
|
return true;
|
||||||
|
|
@ -173,8 +173,7 @@ public class PackageService {
|
||||||
public static Pair<Set<String>, Integer> fetchProcessesWithUid(Application app) throws RemoteException {
|
public static Pair<Set<String>, Integer> fetchProcessesWithUid(Application app) throws RemoteException {
|
||||||
IPackageManager pm = getPackageManager();
|
IPackageManager pm = getPackageManager();
|
||||||
if (pm == null) return new Pair<>(Collections.emptySet(), -1);
|
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, MATCH_ALL_FLAGS, app.userId);
|
||||||
PackageInfo pkgInfo = getPackageInfoWithComponents(app.packageName, baseFlag, app.userId);
|
|
||||||
if (pkgInfo == null || pkgInfo.applicationInfo == null)
|
if (pkgInfo == null || pkgInfo.applicationInfo == null)
|
||||||
return new Pair<>(Collections.emptySet(), -1);
|
return new Pair<>(Collections.emptySet(), -1);
|
||||||
return new Pair<>(fetchProcesses(pkgInfo), pkgInfo.applicationInfo.uid);
|
return new Pair<>(fetchProcesses(pkgInfo), pkgInfo.applicationInfo.uid);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue