diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/DevaToolsProvider.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/DevaToolsProvider.kt index 15e30d28b6..39cd282e7b 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/DevaToolsProvider.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/DevaToolsProvider.kt @@ -13,7 +13,6 @@ import com.mogo.eagle.core.function.api.devatools.IDevaToolsProvider import com.zhjt.mogo_core_function_devatools.badcase.BadCaseManager import com.zhjt.mogo_core_function_devatools.logcatch.MogoLogCatchManager import com.zhjt.mogo_core_function_devatools.monitor.MonitorManager -import com.zhjt.mogo_core_function_devatools.monitor.remote.UserServiceManager import com.zhjt.mogo_core_function_devatools.scene.SceneManager.Companion.sceneManager import com.zhjt.mogo_core_function_devatools.status.* import com.zhjt.mogo_core_function_devatools.trace.TraceManager.Companion.traceManager diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/monitor/CpuMonitor.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/monitor/CpuMonitor.kt index a8bd77a025..964c876fae 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/monitor/CpuMonitor.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/monitor/CpuMonitor.kt @@ -6,7 +6,6 @@ import android.os.Process import android.util.Log import com.zhjt.mogo_core_function_devatools.monitor.db.CpuInfo import com.zhjt.mogo_core_function_devatools.monitor.db.MonitorDb -import com.zhjt.mogo_core_function_devatools.monitor.remote.UserServiceManager import com.zhjt.mogo_core_function_devatools.monitor.utils.CpuUtils import java.text.SimpleDateFormat diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/monitor/remote/UserServiceManager.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/monitor/remote/UserServiceManager.kt index 7eaf674df2..a5ae332d30 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/monitor/remote/UserServiceManager.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/monitor/remote/UserServiceManager.kt @@ -1,182 +1,182 @@ package com.zhjt.mogo_core_function_devatools.monitor.remote -import rikka.shizuku.Shizuku -import android.content.ServiceConnection -import android.content.ComponentName -import android.os.IBinder -import rikka.shizuku.Shizuku.UserServiceArgs -import android.content.pm.PackageManager -import android.util.Log -import com.mogo.eagle.core.utilcode.util.AppUtils -import com.mogo.eagle.core.utilcode.util.ToastUtils -import rikka.shizuku.Shizuku.OnBinderReceivedListener -import rikka.shizuku.Shizuku.OnBinderDeadListener -import rikka.shizuku.Shizuku.OnRequestPermissionResultListener -import java.lang.StringBuilder +//import rikka.shizuku.Shizuku +//import android.content.ServiceConnection +//import android.content.ComponentName +//import android.os.IBinder +//import rikka.shizuku.Shizuku.UserServiceArgs +//import android.content.pm.PackageManager +//import android.util.Log +//import com.mogo.eagle.core.utilcode.util.AppUtils +//import com.mogo.eagle.core.utilcode.util.ToastUtils +//import rikka.shizuku.Shizuku.OnBinderReceivedListener +//import rikka.shizuku.Shizuku.OnBinderDeadListener +//import rikka.shizuku.Shizuku.OnRequestPermissionResultListener +//import java.lang.StringBuilder object UserServiceManager { - private const val TAG = "UserServiceManager" - private const val REQUEST_CODE_BIND = 1 - private const val REQUEST_CODE_UNBIND = 2 - - private var userServiceProxy: IUserInterface? = null - private var isFirst = true - - fun init() { - if (isFirst) { - addListener() - isFirst = false - } - bindUserService() - } - - fun stopService() { - removeListener() - unbindUserService() - } - - fun isServiceActive(): Boolean { - var isActive = false - val service = userServiceProxy - if (service != null && service is IBinder && service.isBinderAlive) { - isActive = true - } - return isActive - } - - private fun addListener() { - Shizuku.addBinderReceivedListenerSticky(BINDER_RECEIVED_LISTENER) - Shizuku.addBinderDeadListener(BINDER_DEAD_LISTENER) - Shizuku.addRequestPermissionResultListener(REQUEST_PERMISSION_RESULT_LISTENER) - } - - private fun removeListener() { - Shizuku.removeBinderReceivedListener(BINDER_RECEIVED_LISTENER) - Shizuku.removeBinderDeadListener(BINDER_DEAD_LISTENER) - Shizuku.removeRequestPermissionResultListener(REQUEST_PERMISSION_RESULT_LISTENER) - } - - private fun bindUserService() { - if (checkPermission(REQUEST_CODE_BIND)) { - val res = StringBuilder() - try { - if (Shizuku.getVersion() < 10) { - res.append("requires Shizuku API 10") - } else { - Shizuku.bindUserService(userServiceArgs, userServiceConnection) - } - } catch (tr: Throwable) { - tr.printStackTrace() - res.append(tr.toString()) - } - } - } - - private fun unbindUserService() { - if (checkPermission(REQUEST_CODE_UNBIND)) { - val res = StringBuilder() - try { - if (Shizuku.getVersion() < 10) { - res.append("requires Shizuku API 10") - } else { - Shizuku.unbindUserService(userServiceArgs, userServiceConnection, true) - } - } catch (tr: Throwable) { - tr.printStackTrace() - res.append(tr.toString()) - } - } - } - - fun exec(cmd: String): String { - return userServiceProxy?.exec(cmd) ?: "" - } - - /** - * 单位:%,保留1位小数 - */ - fun getCpuUsage(pid: Int): Double { - return userServiceProxy?.getCpuUsage(pid) ?: -1.0 - } - - private val userServiceConnection: ServiceConnection = object : ServiceConnection { - override fun onServiceConnected(componentName: ComponentName, binder: IBinder?) { - if (binder != null && binder.pingBinder()) { - val service = RemoteUserServiceImp.asInterface(binder) - userServiceProxy = service - ToastUtils.showShort("监控权限获取成功!") - } - } - - override fun onServiceDisconnected(componentName: ComponentName) {} - } - - private val userServiceArgs by lazy { - val appInfo = AppUtils.getAppInfo() - UserServiceArgs( - ComponentName( - appInfo?.packageName ?: "com.mogo.launcher.f", - RemoteUserServiceImp::class.java.name - ) - ) - .daemon(false) - .processNameSuffix("service") - .debuggable(true) - .version(appInfo?.versionCode ?: 1) - } - - private fun checkPermission(code: Int): Boolean { - if (Shizuku.isPreV11()) { - Log.w(TAG, "Version is preV11!") - return false - } - try { - return if (Shizuku.checkSelfPermission() == PackageManager.PERMISSION_GRANTED) { - true - } else if (Shizuku.shouldShowRequestPermissionRationale()) { - Log.e(TAG, "User denied permission (shouldShowRequestPermissionRationale=true)") - false - } else { - Shizuku.requestPermission(code) - false - } - } catch (e: Throwable) { - Log.e(TAG, Log.getStackTraceString(e)) - ToastUtils.showLong("请先打开Shizuku并启动它!") - } - return false - } - - private fun onRequestPermissionsResult(requestCode: Int, grantResult: Int) { - if (grantResult == PackageManager.PERMISSION_GRANTED) { - when (requestCode) { - REQUEST_CODE_BIND -> { - bindUserService() - } - REQUEST_CODE_UNBIND -> { - unbindUserService() - } - else -> {} - } - } else { - Log.e(TAG, "User denied permission") - } - } - - private val BINDER_RECEIVED_LISTENER = OnBinderReceivedListener { - if (Shizuku.isPreV11()) { - Log.w(TAG, "Shizuku pre-v11 is not supported") - } else { - Log.d(TAG, "Binder received") - } - } - private val BINDER_DEAD_LISTENER = OnBinderDeadListener { Log.w(TAG, "Binder dead") } - private val REQUEST_PERMISSION_RESULT_LISTENER = - OnRequestPermissionResultListener { requestCode: Int, grantResult: Int -> - onRequestPermissionsResult( - requestCode, - grantResult - ) - } +// private const val TAG = "UserServiceManager" +// private const val REQUEST_CODE_BIND = 1 +// private const val REQUEST_CODE_UNBIND = 2 +// +// private var userServiceProxy: IUserInterface? = null +// private var isFirst = true +// +// fun init() { +// if (isFirst) { +// addListener() +// isFirst = false +// } +// bindUserService() +// } +// +// fun stopService() { +// removeListener() +// unbindUserService() +// } +// +// fun isServiceActive(): Boolean { +// var isActive = false +// val service = userServiceProxy +// if (service != null && service is IBinder && service.isBinderAlive) { +// isActive = true +// } +// return isActive +// } +// +// private fun addListener() { +// Shizuku.addBinderReceivedListenerSticky(BINDER_RECEIVED_LISTENER) +// Shizuku.addBinderDeadListener(BINDER_DEAD_LISTENER) +// Shizuku.addRequestPermissionResultListener(REQUEST_PERMISSION_RESULT_LISTENER) +// } +// +// private fun removeListener() { +// Shizuku.removeBinderReceivedListener(BINDER_RECEIVED_LISTENER) +// Shizuku.removeBinderDeadListener(BINDER_DEAD_LISTENER) +// Shizuku.removeRequestPermissionResultListener(REQUEST_PERMISSION_RESULT_LISTENER) +// } +// +// private fun bindUserService() { +// if (checkPermission(REQUEST_CODE_BIND)) { +// val res = StringBuilder() +// try { +// if (Shizuku.getVersion() < 10) { +// res.append("requires Shizuku API 10") +// } else { +// Shizuku.bindUserService(userServiceArgs, userServiceConnection) +// } +// } catch (tr: Throwable) { +// tr.printStackTrace() +// res.append(tr.toString()) +// } +// } +// } +// +// private fun unbindUserService() { +// if (checkPermission(REQUEST_CODE_UNBIND)) { +// val res = StringBuilder() +// try { +// if (Shizuku.getVersion() < 10) { +// res.append("requires Shizuku API 10") +// } else { +// Shizuku.unbindUserService(userServiceArgs, userServiceConnection, true) +// } +// } catch (tr: Throwable) { +// tr.printStackTrace() +// res.append(tr.toString()) +// } +// } +// } +// +// fun exec(cmd: String): String { +// return userServiceProxy?.exec(cmd) ?: "" +// } +// +// /** +// * 单位:%,保留1位小数 +// */ +// fun getCpuUsage(pid: Int): Double { +// return userServiceProxy?.getCpuUsage(pid) ?: -1.0 +// } +// +// private val userServiceConnection: ServiceConnection = object : ServiceConnection { +// override fun onServiceConnected(componentName: ComponentName, binder: IBinder?) { +// if (binder != null && binder.pingBinder()) { +// val service = RemoteUserServiceImp.asInterface(binder) +// userServiceProxy = service +// ToastUtils.showShort("监控权限获取成功!") +// } +// } +// +// override fun onServiceDisconnected(componentName: ComponentName) {} +// } +// +// private val userServiceArgs by lazy { +// val appInfo = AppUtils.getAppInfo() +// UserServiceArgs( +// ComponentName( +// appInfo?.packageName ?: "com.mogo.launcher.f", +// RemoteUserServiceImp::class.java.name +// ) +// ) +// .daemon(false) +// .processNameSuffix("service") +// .debuggable(true) +// .version(appInfo?.versionCode ?: 1) +// } +// +// private fun checkPermission(code: Int): Boolean { +// if (Shizuku.isPreV11()) { +// Log.w(TAG, "Version is preV11!") +// return false +// } +// try { +// return if (Shizuku.checkSelfPermission() == PackageManager.PERMISSION_GRANTED) { +// true +// } else if (Shizuku.shouldShowRequestPermissionRationale()) { +// Log.e(TAG, "User denied permission (shouldShowRequestPermissionRationale=true)") +// false +// } else { +// Shizuku.requestPermission(code) +// false +// } +// } catch (e: Throwable) { +// Log.e(TAG, Log.getStackTraceString(e)) +// ToastUtils.showLong("请先打开Shizuku并启动它!") +// } +// return false +// } +// +// private fun onRequestPermissionsResult(requestCode: Int, grantResult: Int) { +// if (grantResult == PackageManager.PERMISSION_GRANTED) { +// when (requestCode) { +// REQUEST_CODE_BIND -> { +// bindUserService() +// } +// REQUEST_CODE_UNBIND -> { +// unbindUserService() +// } +// else -> {} +// } +// } else { +// Log.e(TAG, "User denied permission") +// } +// } +// +// private val BINDER_RECEIVED_LISTENER = OnBinderReceivedListener { +// if (Shizuku.isPreV11()) { +// Log.w(TAG, "Shizuku pre-v11 is not supported") +// } else { +// Log.d(TAG, "Binder received") +// } +// } +// private val BINDER_DEAD_LISTENER = OnBinderDeadListener { Log.w(TAG, "Binder dead") } +// private val REQUEST_PERMISSION_RESULT_LISTENER = +// OnRequestPermissionResultListener { requestCode: Int, grantResult: Int -> +// onRequestPermissionsResult( +// requestCode, +// grantResult +// ) +// } } \ No newline at end of file