From 11ec41aadb9a74076c4376e7db6fec34ab63ee61 Mon Sep 17 00:00:00 2001 From: ShirkNeko <109797057+ShirkNeko@users.noreply.github.com> Date: Sat, 29 Mar 2025 16:03:56 +0800 Subject: [PATCH] manager: Add kpmmgr to build workflows and optimize device model retrieval logic --- .github/workflows/build-manager.yml | 21 ++++++++++++++++++ .../shirkneko/zako/sukisu/ui/screen/Home.kt | 22 +++++++++---------- 2 files changed, 31 insertions(+), 12 deletions(-) diff --git a/.github/workflows/build-manager.yml b/.github/workflows/build-manager.yml index 06c73f41..79aedcb3 100644 --- a/.github/workflows/build-manager.yml +++ b/.github/workflows/build-manager.yml @@ -9,6 +9,7 @@ on: - 'kernel/**' - 'userspace/ksud/**' - 'userspace/zakomksd/**' + - 'userspace/kpmmgr/**' pull_request: branches: [ "main" ] paths: @@ -95,6 +96,19 @@ jobs: target: ${{ matrix.target }} os: ${{ matrix.os }} + build-kpmmgr: + if: ${{ always() }} + needs: [ check-build-lkm, build-lkm ] + strategy: + matrix: + include: + - target: aarch64-linux-android + os: ubuntu-latest + uses: ./.github/workflows/kpmmgr.yml + with: + target: ${{ matrix.target }} + os: ${{ matrix.os }} + build-ksud: if: ${{ always() }} needs: [ check-build-lkm, build-lkm ] @@ -185,6 +199,13 @@ jobs: cp -f ../aarch64-linux-android/release/zakomk ../manager/app/src/main/jniLibs/arm64-v8a/libzakomk.so cp -f ../x86_64-linux-android/release/zakomk ../manager/app/src/main/jniLibs/x86_64/libzakomk.so + - name: Copy kpmmgr to app jniLibs + run: | + mkdir -p app/src/main/jniLibs/arm64-v8a + mkdir -p app/src/main/jniLibs/x86_64 + cp -f ../arm64-v8a/kpmmgr ../manager/app/src/main/jniLibs/arm64-v8a/kpmmgr.so + cp -f ../x86_64/kpmmgr ../manager/app/src/main/jniLibs/x86_64/kpmmgr.so + - name: Copy zakomksd to app jniLibs run: | mkdir -p app/src/main/jniLibs/arm64-v8a diff --git a/manager/app/src/main/java/shirkneko/zako/sukisu/ui/screen/Home.kt b/manager/app/src/main/java/shirkneko/zako/sukisu/ui/screen/Home.kt index f742d118..a7e9e919 100644 --- a/manager/app/src/main/java/shirkneko/zako/sukisu/ui/screen/Home.kt +++ b/manager/app/src/main/java/shirkneko/zako/sukisu/ui/screen/Home.kt @@ -581,20 +581,18 @@ private fun getDeviceModel(context: Context): String { return try { val systemProperties = Class.forName("android.os.SystemProperties") val getMethod = systemProperties.getMethod("get", String::class.java, String::class.java) - val marketName = context.getSystemService(Context.APP_OPS_SERVICE)?.let { appOps -> - getMethod.invoke(null, "ro.product.marketname", "") as String - } ?: "" - - if (marketName.isNotEmpty()) { - marketName - } else { - val MarketName = getMethod.invoke(null, "ro.vendor.oplus.market.name", "") as String - if (MarketName.isNotEmpty()) { - MarketName - } else { - Build.DEVICE + val marketNameKeys = listOf( + "ro.product.marketname", + "ro.vendor.oplus.market.name", + "ro.vivo.market.name" + ) + for (key in marketNameKeys) { + val marketName = getMethod.invoke(null, key, "") as String + if (marketName.isNotEmpty()) { + return marketName } } + Build.DEVICE } catch (e: Exception) { Build.DEVICE }