Skip to content

Commit

Permalink
移动getProcessName函数到HookTools里来增加代码复用性
Browse files Browse the repository at this point in the history
  • Loading branch information
ghhccghk committed Jan 11, 2025
1 parent 8e6fdfb commit dbc6f4f
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 10 deletions.
11 changes: 1 addition & 10 deletions app/src/main/kotlin/cn/lyric/getter/hook/app/Kugou.kt
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import cn.lyric.getter.hook.BaseHook
import cn.lyric.getter.tool.HookTools
import cn.lyric.getter.tool.HookTools.eventTools
import cn.lyric.getter.tool.HookTools.fuckTinker
import cn.lyric.getter.tool.HookTools.getProcessName
import cn.lyric.getter.tool.Tools.getVersionCode
import com.github.kyuubiran.ezxhelper.ClassUtils.loadClass
import com.github.kyuubiran.ezxhelper.EzXHelper.classLoader
Expand Down Expand Up @@ -60,16 +61,6 @@ object Kugou : BaseHook() {
}
}

private fun getProcessName(context: Context): String? {
val pid = Process.myPid()
val manager = context.getSystemService(Context.ACTIVITY_SERVICE) as ActivityManager
for (process in manager.runningAppProcesses) {
if (process.pid == pid) {
return process.processName
}
}
return null
}

private fun hookCarLyric() {
loadClass("com.kugou.framework.player.c").methodFinder()
Expand Down
16 changes: 16 additions & 0 deletions app/src/main/kotlin/cn/lyric/getter/tool/HookTools.kt
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
package cn.lyric.getter.tool

import android.app.ActivityManager
import android.app.AndroidAppHelper
import android.app.Application
import android.app.Notification
import android.content.Context
import android.content.Intent
import android.os.Build
import android.os.Process
import cn.xiaowine.xkt.LogTool.log
import cn.xiaowine.xkt.Tool.isNot
import cn.xiaowine.xkt.Tool.isNotNull
Expand Down Expand Up @@ -94,6 +96,20 @@ object HookTools {
}
}

/** 获取应用进程名
* @param context 为应用context
* @return 为进程名*/
fun getProcessName(context: Context): String? {
val pid = Process.myPid()
val manager = context.getSystemService(Context.ACTIVITY_SERVICE) as ActivityManager
for (process in manager.runningAppProcesses) {
if (process.pid == pid) {
return process.processName
}
}
return null
}

fun lockNotStopLyric(classLoader: ClassLoader, fileFilter: ArrayList<String>? = null) {
dexKitBridge(classLoader) { dexKitBridge ->
dexKitBridge.apply {
Expand Down

0 comments on commit dbc6f4f

Please sign in to comment.