Add getInstalledPackages to Xposed module API

Expose IPackageManager.getInstalledPackages via binder transaction,
allowing per-app proxy to list packages without ROOT when Xposed is active.
This commit is contained in:
世界 committed 2026-01-17 06:43:47 +08:00
1 parent 2cebff3d7e
commit 0fe4a3b6a1
5 files changed
+109 -3

No files matched your search

@@ -54,7 +54,11 @@ object PackageQueryManager {
suspend fun getInstalledPackages(flags: Int, retryFlags: Int): List<PackageInfo> {
return when (val s = strategy) {
is PackageQueryStrategy.ForcedRoot -> RootClient.getInstalledPackages(flags)
is PackageQueryStrategy.ForcedRoot -> {
val userId = android.os.Process.myUserHandle().hashCode()
HookStatusClient.getInstalledPackages(Application.application, flags.toLong(), userId)
?: RootClient.getInstalledPackages(flags)
}
is PackageQueryStrategy.UserSelected -> RootClient.getInstalledPackages(flags)
is PackageQueryStrategy.Direct -> getPackagesViaPackageManager(flags, retryFlags)
}