[Fix]多余的代码注释掉
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
// )
|
||||
// }
|
||||
}
|
||||
Reference in New Issue
Block a user