mirror of
https://mirror.skon.top/github.com/gkd-kit/gkd
synced 2026-04-20 21:00:12 +08:00
perf: compat android17 api
This commit is contained in:
@@ -2,6 +2,7 @@ package li.songe.gkd.shizuku
|
||||
|
||||
import android.Manifest
|
||||
import android.content.pm.IPackageManager
|
||||
import android.content.pm.IPackageManagerCompat
|
||||
import android.content.pm.PackageInfo
|
||||
import li.songe.gkd.META
|
||||
import li.songe.gkd.app
|
||||
@@ -26,7 +27,9 @@ class SafePackageManager(private val value: IPackageManager) {
|
||||
flags: Int,
|
||||
userId: Int = currentUserId,
|
||||
): List<PackageInfo> = safeInvokeShizuku {
|
||||
if (AndroidTarget.TIRAMISU) {
|
||||
if (AndroidTarget.CINNAMON_BUN) {
|
||||
(value as IPackageManagerCompat).getInstalledPackages(flags.toLong(), userId).list
|
||||
} else if (AndroidTarget.TIRAMISU) {
|
||||
value.getInstalledPackages(flags.toLong(), userId).list
|
||||
} else {
|
||||
value.getInstalledPackages(flags, userId).list
|
||||
|
||||
@@ -31,4 +31,8 @@ object AndroidTarget {
|
||||
/** Android 16+ */
|
||||
@get:ChecksSdkIntAtLeast(api = Build.VERSION_CODES.BAKLAVA)
|
||||
val BAKLAVA = Build.VERSION.SDK_INT >= Build.VERSION_CODES.BAKLAVA
|
||||
|
||||
/** Android 17+ */
|
||||
@get:ChecksSdkIntAtLeast(api = Build.VERSION_CODES.CINNAMON_BUN)
|
||||
val CINNAMON_BUN = Build.VERSION.SDK_INT >= Build.VERSION_CODES.CINNAMON_BUN
|
||||
}
|
||||
@@ -3,9 +3,9 @@ import org.jetbrains.kotlin.gradle.dsl.JvmTarget
|
||||
|
||||
ext {
|
||||
set("android.namespace", "li.songe.gkd")
|
||||
set("android.buildToolsVersion", "36.1.0")
|
||||
set("android.compileSdk", 36)
|
||||
set("android.targetSdk", 36)
|
||||
set("android.buildToolsVersion", "37.0.0")
|
||||
set("android.compileSdk", 37)
|
||||
set("android.targetSdk", 37)
|
||||
set("android.minSdk", 26)
|
||||
set("android.javaVersion", JavaVersion.VERSION_11)
|
||||
set("kotlin.jvmTarget", JvmTarget.JVM_11)
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
package android.content.pm;
|
||||
|
||||
import dev.rikka.tools.refine.RefineAs;
|
||||
|
||||
/**
|
||||
* @noinspection unused
|
||||
*/
|
||||
@RefineAs(IPackageManager.class)
|
||||
public interface IPackageManagerCompat {
|
||||
// android 17+
|
||||
PackageInfoList getInstalledPackages(long flags, int userId);
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
package android.content.pm;
|
||||
|
||||
/**
|
||||
* @noinspection unused
|
||||
*/
|
||||
public class PackageInfoList extends ParceledListSlice<PackageInfo> {
|
||||
}
|
||||
Reference in New Issue
Block a user