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:
@@ -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)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user