From b392f331c89dd618590f945fb4b0ef4181a3e6bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8D=97=E5=AE=AB=E9=9B=AA=E7=8F=8A?= Date: Sat, 14 May 2022 23:06:18 +0800 Subject: [PATCH] Replace ParceledListSlice with ParcelableListSlice (#1936) --- .../lsposed/lspd/service/LSPManagerService.java | 9 +++++---- .../org/lsposed/lspd/service/PackageService.java | 16 ++++++++-------- external/fmt | 2 +- external/lsplant | 2 +- .../org/lsposed/lspd/ILSPManagerService.aidl | 6 +++--- services/xposed-service | 2 +- 6 files changed, 19 insertions(+), 18 deletions(-) diff --git a/daemon/src/main/java/org/lsposed/lspd/service/LSPManagerService.java b/daemon/src/main/java/org/lsposed/lspd/service/LSPManagerService.java index 47ea3e1a..cdf974f2 100644 --- a/daemon/src/main/java/org/lsposed/lspd/service/LSPManagerService.java +++ b/daemon/src/main/java/org/lsposed/lspd/service/LSPManagerService.java @@ -37,6 +37,7 @@ import android.content.Intent; import android.content.pm.LauncherApps; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; +import android.content.pm.ParceledListSlice; import android.content.pm.ResolveInfo; import android.content.pm.ShortcutInfo; import android.content.pm.ShortcutManager; @@ -82,7 +83,7 @@ import java.util.UUID; import java.util.concurrent.TimeUnit; import hidden.HiddenApiBridge; -import io.github.xposed.xposedservice.utils.ParceledListSlice; +import rikka.parcelablelist.ParcelableListSlice; public class LSPManagerService extends ILSPManagerService.Stub { // this maybe useful when obtaining the manager binder @@ -293,7 +294,7 @@ public class LSPManagerService extends ILSPManagerService.Stub { final NotificationChannel channel = new NotificationChannel(CHANNEL_ID, CHANNEL_NAME, CHANNEL_IMP); im.createNotificationChannels("android", - new android.content.pm.ParceledListSlice<>(Collections.singletonList(channel))); + new ParceledListSlice<>(Collections.singletonList(channel))); im.enqueueNotificationWithTag("android", "android", modulePackageName, pushAndGetNotificationId(modulePackageName, moduleUserId), notification, 0); @@ -586,7 +587,7 @@ public class LSPManagerService extends ILSPManagerService.Stub { } @Override - public ParceledListSlice getInstalledPackagesFromAllUsers(int flags, boolean filterNoProcess) throws RemoteException { + public ParcelableListSlice getInstalledPackagesFromAllUsers(int flags, boolean filterNoProcess) throws RemoteException { return PackageService.getInstalledPackagesFromAllUsers(flags, filterNoProcess); } @@ -735,7 +736,7 @@ public class LSPManagerService extends ILSPManagerService.Stub { } @Override - public ParceledListSlice queryIntentActivitiesAsUser(Intent intent, int flags, int userId) throws RemoteException { + public ParcelableListSlice queryIntentActivitiesAsUser(Intent intent, int flags, int userId) throws RemoteException { return PackageService.queryIntentActivities(intent, intent.getType(), flags, userId); } diff --git a/daemon/src/main/java/org/lsposed/lspd/service/PackageService.java b/daemon/src/main/java/org/lsposed/lspd/service/PackageService.java index 78665f21..747f955c 100644 --- a/daemon/src/main/java/org/lsposed/lspd/service/PackageService.java +++ b/daemon/src/main/java/org/lsposed/lspd/service/PackageService.java @@ -61,7 +61,7 @@ import java.util.Set; import java.util.concurrent.CountDownLatch; import java.util.stream.Collectors; -import io.github.xposed.xposedservice.utils.ParceledListSlice; +import rikka.parcelablelist.ParcelableListSlice; public class PackageService { @@ -135,10 +135,10 @@ public class PackageService { } // Only for manager - public static ParceledListSlice getInstalledPackagesFromAllUsers(int flags, boolean filterNoProcess) throws RemoteException { + public static ParcelableListSlice getInstalledPackagesFromAllUsers(int flags, boolean filterNoProcess) throws RemoteException { List res = new ArrayList<>(); IPackageManager pm = getPackageManager(); - if (pm == null) return ParceledListSlice.emptyList(); + if (pm == null) return ParcelableListSlice.emptyList(); for (var user : UserService.getUsers()) { // in case pkginfo of other users in primary user res.addAll((Build.VERSION.SDK_INT + Build.VERSION.PREVIEW_SDK_INT > Build.VERSION_CODES.S_V2 ? pm.getInstalledPackages((long) flags, user.id) : pm.getInstalledPackages(flags, user.id)) @@ -154,7 +154,7 @@ public class PackageService { .collect(Collectors.toList())); } if (filterNoProcess) { - return new ParceledListSlice<>(res.parallelStream().filter(packageInfo -> { + return new ParcelableListSlice<>(res.parallelStream().filter(packageInfo -> { try { PackageInfo pkgInfo = getPackageInfoWithComponents(packageInfo.packageName, MATCH_ALL_FLAGS, packageInfo.applicationInfo.uid / PER_USER_RANGE); return !fetchProcesses(pkgInfo).isEmpty(); @@ -164,7 +164,7 @@ public class PackageService { } }).collect(Collectors.toList())); } - return new ParceledListSlice<>(res); + return new ParcelableListSlice<>(res); } private static Set fetchProcesses(PackageInfo pkgInfo) { @@ -283,17 +283,17 @@ public class PackageService { } } - public static ParceledListSlice queryIntentActivities(Intent intent, String resolvedType, int flags, int userId) throws RemoteException { + public static ParcelableListSlice queryIntentActivities(Intent intent, String resolvedType, int flags, int userId) throws RemoteException { IPackageManager pm = getPackageManager(); if (pm == null) return null; - return new ParceledListSlice<>((Build.VERSION.SDK_INT + Build.VERSION.PREVIEW_SDK_INT > Build.VERSION_CODES.S_V2 ? pm.queryIntentActivities(intent, resolvedType, (long) flags, userId) : pm.queryIntentActivities(intent, resolvedType, flags, userId)).getList()); + return new ParcelableListSlice<>((Build.VERSION.SDK_INT + Build.VERSION.PREVIEW_SDK_INT > Build.VERSION_CODES.S_V2 ? pm.queryIntentActivities(intent, resolvedType, (long) flags, userId) : pm.queryIntentActivities(intent, resolvedType, flags, userId)).getList()); } public static Intent getLaunchIntentForPackage(String packageName) throws RemoteException { Intent intentToResolve = new Intent(Intent.ACTION_MAIN); intentToResolve.addCategory(Intent.CATEGORY_INFO); intentToResolve.setPackage(packageName); - ParceledListSlice ris = queryIntentActivities(intentToResolve, intentToResolve.getType(), 0, 0); + var ris = queryIntentActivities(intentToResolve, intentToResolve.getType(), 0, 0); // Otherwise, try to find a main launcher activity. if (ris == null || ris.getList().size() <= 0) { diff --git a/external/fmt b/external/fmt index 96930161..ae963e44 160000 --- a/external/fmt +++ b/external/fmt @@ -1 +1 @@ -Subproject commit 96930161f918d08a689076f500f128522a237a75 +Subproject commit ae963e444fcdf1ad45f662e0c706568f34506528 diff --git a/external/lsplant b/external/lsplant index d3cd9313..5867b673 160000 --- a/external/lsplant +++ b/external/lsplant @@ -1 +1 @@ -Subproject commit d3cd9313644499c181212dd66602f6ab2aa75ab6 +Subproject commit 5867b673803e255c4f0c75b9055fe7da3209e2ae diff --git a/services/manager-service/src/main/aidl/org/lsposed/lspd/ILSPManagerService.aidl b/services/manager-service/src/main/aidl/org/lsposed/lspd/ILSPManagerService.aidl index 1b0b17a1..7a720722 100644 --- a/services/manager-service/src/main/aidl/org/lsposed/lspd/ILSPManagerService.aidl +++ b/services/manager-service/src/main/aidl/org/lsposed/lspd/ILSPManagerService.aidl @@ -1,6 +1,6 @@ package org.lsposed.lspd; -import io.github.xposed.xposedservice.utils.ParceledListSlice; +import rikka.parcelablelist.ParcelableListSlice; import org.lsposed.lspd.models.UserInfo; import org.lsposed.lspd.models.Application; @@ -14,7 +14,7 @@ interface ILSPManagerService { String getApi() = 1; - ParceledListSlice getInstalledPackagesFromAllUsers(int flags, boolean filterNoProcess) = 2; + ParcelableListSlice getInstalledPackagesFromAllUsers(int flags, boolean filterNoProcess) = 2; String[] enabledModules() = 3; @@ -60,7 +60,7 @@ interface ILSPManagerService { int startActivityAsUserWithFeature(in Intent intent, int userId) = 30; - ParceledListSlice queryIntentActivitiesAsUser(in Intent intent, int flags, int userId) = 31; + ParcelableListSlice queryIntentActivitiesAsUser(in Intent intent, int flags, int userId) = 31; boolean dex2oatFlagsLoaded() = 32; diff --git a/services/xposed-service b/services/xposed-service index ac9744ab..4eea6d57 160000 --- a/services/xposed-service +++ b/services/xposed-service @@ -1 +1 @@ -Subproject commit ac9744ab71bc899c7954239fadbad605521c4b0c +Subproject commit 4eea6d5794e046aeae4e57022c6cc1f7201559d5