|
|
@@ -1,23 +1,26 @@
|
|
|
package org.yameida.worktool.activity
|
|
|
|
|
|
+import android.app.ActivityManager
|
|
|
import android.content.*
|
|
|
-import android.graphics.Bitmap
|
|
|
import android.os.Bundle
|
|
|
import android.os.Handler
|
|
|
import android.os.IBinder
|
|
|
import android.provider.Settings
|
|
|
import android.text.InputType
|
|
|
+import android.util.Log
|
|
|
import android.view.WindowManager
|
|
|
+import android.view.accessibility.AccessibilityNodeInfo
|
|
|
import android.widget.CompoundButton
|
|
|
import androidx.appcompat.app.AppCompatActivity
|
|
|
import com.blankj.utilcode.constant.PermissionConstants
|
|
|
import com.blankj.utilcode.util.*
|
|
|
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
|
|
-import com.lzy.okgo.OkGo
|
|
|
import com.qmuiteam.qmui.widget.dialog.QMUIDialog
|
|
|
+import com.xuexiang.xupdate.XUpdate
|
|
|
import kotlinx.android.synthetic.main.activity_listen.*
|
|
|
import org.yameida.worktool.Constant
|
|
|
import org.yameida.worktool.R
|
|
|
+import org.yameida.worktool.model.WeworkMessageBean
|
|
|
import org.yameida.worktool.service.PlayNotifyService
|
|
|
import org.yameida.worktool.service.WeworkController
|
|
|
import org.yameida.worktool.service.fastStartActivity
|
|
|
@@ -25,10 +28,6 @@ import org.yameida.worktool.utils.*
|
|
|
import org.yameida.worktool.utils.capture.MediaProjectionHolder
|
|
|
import org.yameida.worktool.utils.envcheck.CheckHook
|
|
|
import org.yameida.worktool.utils.envcheck.CheckRoot
|
|
|
-import java.io.ByteArrayOutputStream
|
|
|
-import java.io.File
|
|
|
-import java.text.SimpleDateFormat
|
|
|
-import java.util.*
|
|
|
|
|
|
|
|
|
class ListenActivity : AppCompatActivity() {
|
|
|
@@ -63,7 +62,6 @@ class ListenActivity : AppCompatActivity() {
|
|
|
initNotification()
|
|
|
PermissionUtils.permission(PermissionConstants.STORAGE).request()
|
|
|
registerReceiver(openWsReceiver, IntentFilter(Constant.WEWORK_NOTIFY))
|
|
|
-
|
|
|
}
|
|
|
|
|
|
override fun onDestroy() {
|
|
|
@@ -99,9 +97,7 @@ class ListenActivity : AppCompatActivity() {
|
|
|
// })
|
|
|
// HttpUtil.getMyConfig(toast = false)
|
|
|
// MobclickAgent.onProfileSignIn(channel)
|
|
|
-// handler.postDelayed({
|
|
|
-// Demo.test3()
|
|
|
-// },8000)
|
|
|
+
|
|
|
// test()
|
|
|
}
|
|
|
tv_host.text = Constant.host
|
|
|
@@ -211,6 +207,10 @@ class ListenActivity : AppCompatActivity() {
|
|
|
|
|
|
private fun initData() {
|
|
|
// HttpUtil.checkUpdate()
|
|
|
+ XUpdate.newBuild(this)
|
|
|
+ .param("appRegion", "workTool")
|
|
|
+ .updateUrl(Constant.updateBaseUrl)
|
|
|
+ .update()
|
|
|
HttpUtil.getMyConfig(toast = false)
|
|
|
CacheUtil.autoDelete()
|
|
|
}
|
|
|
@@ -317,6 +317,46 @@ class ListenActivity : AppCompatActivity() {
|
|
|
packageManager.getLaunchIntentForPackage(Constant.PACKAGE_NAMES)?.apply {
|
|
|
this.flags = Intent.FLAG_ACTIVITY_NEW_TASK
|
|
|
startActivity(this)
|
|
|
+ if (weComNum() == 1) {
|
|
|
+ SPUtils.getInstance().put("weCom", 1)
|
|
|
+ SPUtils.getInstance().put("num", 1)
|
|
|
+ WeworkController.weworkService.webSocketManager.send(
|
|
|
+ WeworkMessageBean(
|
|
|
+ WeworkMessageBean.WE_COM_TYPE,
|
|
|
+ SPUtils.getInstance().getInt("weCom"),
|
|
|
+ SPUtils.getInstance().getInt("num"),
|
|
|
+ null
|
|
|
+ )
|
|
|
+ )
|
|
|
+ } else {
|
|
|
+ bt_save.postDelayed({
|
|
|
+ val rootNode = WeworkController.weworkService.rootInActiveWindow
|
|
|
+ if (rootNode != null) {
|
|
|
+ // 查找并点击第一个应用
|
|
|
+ val firstAppNode: AccessibilityNodeInfo = findFirstAppNode(rootNode)!!
|
|
|
+ if (firstAppNode != null) {
|
|
|
+ AccessibilityUtil.performClick(firstAppNode)
|
|
|
+ }
|
|
|
+ SPUtils.getInstance().put("weCom", 1)
|
|
|
+ SPUtils.getInstance().put("num", 2)
|
|
|
+// WeworkController.weworkService.webSocketManager.send(
|
|
|
+// WeworkMessageListBean<Any?>(
|
|
|
+// 1,
|
|
|
+// WeworkMessageListBean.SOCKET_TYPE_INTI
|
|
|
+// )
|
|
|
+// )
|
|
|
+ WeworkController.weworkService.webSocketManager.send(
|
|
|
+ WeworkMessageBean(
|
|
|
+ WeworkMessageBean.WE_COM_TYPE,
|
|
|
+ SPUtils.getInstance().getInt("weCom"),
|
|
|
+ SPUtils.getInstance().getInt("num"),
|
|
|
+ null
|
|
|
+ )
|
|
|
+ )
|
|
|
+ }
|
|
|
+ }, 500)
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
}, 5000)
|
|
|
}
|
|
|
@@ -329,36 +369,57 @@ class ListenActivity : AppCompatActivity() {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- fun test(){
|
|
|
- val imageUrl="https://assistant.flowbb.top/assistant/4af01bb1e19abaf0b4d6bcb4a620ba26.jpg/4af01bb1e19abaf0b4d6bcb4a620ba26.jpg?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=minioadmin%2F20241219%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20241219T063441Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=2e45427335a9ec2573b1125d23297c555d08dd146b090bf254015ff0b149f70f"
|
|
|
- Thread {
|
|
|
- val execute = OkGo.get<File>(imageUrl).execute()
|
|
|
- LogUtils.i("下载完成 $imageUrl")
|
|
|
- val body = execute.body()
|
|
|
- if (body != null) {
|
|
|
- val df = SimpleDateFormat("yyyy-MM-dd")
|
|
|
- val filePath = "${
|
|
|
- Utils.getApp().getExternalFilesDir("mp_image_cache")
|
|
|
- }/${df.format(Date())}/${imageUrl.split("/").lastOrNull()}"
|
|
|
- val newFile = File(filePath)
|
|
|
- if (FileUtils.isFile(newFile)) {
|
|
|
- FileUtils.delete(newFile)
|
|
|
- }
|
|
|
- val create = FileUtils.createFileByDeleteOldFile(newFile)
|
|
|
- if (create && newFile.canWrite()) {
|
|
|
- newFile.writeBytes(body.bytes())
|
|
|
- LogUtils.i("文件存储本地成功 $filePath")
|
|
|
- val bitmap = ImageUtils.bytes2Bitmap(File(filePath).readBytes())
|
|
|
- val stream = ByteArrayOutputStream()
|
|
|
- bitmap.compress(Bitmap.CompressFormat.JPEG, 75, stream)
|
|
|
- } else {
|
|
|
- LogUtils.e("文件存储本地失败 $filePath")
|
|
|
- }
|
|
|
- } else {
|
|
|
- LogUtils.e("文件下载失败")
|
|
|
+ var num: Int = 0
|
|
|
+
|
|
|
+ fun weComNum(): Int {
|
|
|
+// val packageManager = packageManager
|
|
|
+// val installedApps = packageManager.getInstalledPackages(0)
|
|
|
+// val get = installedApps[178]
|
|
|
+// for (appInfo in installedApps) {
|
|
|
+// val packageName = appInfo.packageName
|
|
|
+// appInfo.applicationInfo.name
|
|
|
+// Log.e("aaaaa", "---------" + packageName)
|
|
|
+// // 可以进一步获取其他信息,如版本号、权限等
|
|
|
+// }
|
|
|
+
|
|
|
+// val packageManager = packageManager
|
|
|
+// val apps = packageManager.getInstalledApplications(PackageManager.GET_META_DATA)
|
|
|
+// for (appInfo in apps) {
|
|
|
+// if (appInfo.packageName.contains("com.tencent.wework")) {
|
|
|
+// Log.e("AppInfo", "Installed app: " + appInfo.packageName)
|
|
|
+// }
|
|
|
+// }
|
|
|
+ num = 0;
|
|
|
+ val activityManager = getSystemService(ACTIVITY_SERVICE) as ActivityManager
|
|
|
+ val processes = activityManager.runningAppProcesses
|
|
|
+ for (processInfo in processes) {
|
|
|
+ if (processInfo.processName.contains("com.tencent.wework")) {
|
|
|
+ Log.e("AppInfo", "Running app process: " + processInfo.processName)
|
|
|
+ num++;
|
|
|
}
|
|
|
- }.start()
|
|
|
+ }
|
|
|
+ return num
|
|
|
+// val packageManager = packageManager
|
|
|
+// val apps = packageManager.getInstalledApplications(PackageManager.GET_META_DATA)
|
|
|
+// for (appInfo in apps) {
|
|
|
+// if (appInfo.packageName == "com.tencent.wework") {
|
|
|
+// // 找到主应用
|
|
|
+// Log.e("AppInfo", "Main app: " + appInfo.packageName)
|
|
|
+// } else if (appInfo.packageName.contains("com.tencent.wework:clone")) {
|
|
|
+// // 找到分身应用
|
|
|
+// Log.e("AppInfo", "Clone app: " + appInfo.packageName)
|
|
|
+// }
|
|
|
+// }
|
|
|
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ private fun findFirstAppNode(rootNode: AccessibilityNodeInfo): AccessibilityNodeInfo? {
|
|
|
+ // 查找选择框中的第一个应用
|
|
|
+// val findAllByText = AccessibilityUtil.findAllByText(rootNode, "企业微信")
|
|
|
+ val buttonList = AccessibilityUtil.findAllByClazz(rootNode, Views.ImageView)
|
|
|
+ return buttonList.firstOrNull()
|
|
|
}
|
|
|
|
|
|
+
|
|
|
}
|