update 优化关闭服务;优化悬浮窗位置
This commit is contained in:
@@ -16,6 +16,7 @@ import com.blankj.utilcode.constant.PermissionConstants
|
|||||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||||
import com.qmuiteam.qmui.widget.dialog.QMUIDialog
|
import com.qmuiteam.qmui.widget.dialog.QMUIDialog
|
||||||
import org.yameida.worktool.service.PlayNotifyService
|
import org.yameida.worktool.service.PlayNotifyService
|
||||||
|
import org.yameida.worktool.service.WeworkController
|
||||||
import org.yameida.worktool.service.fastStartActivity
|
import org.yameida.worktool.service.fastStartActivity
|
||||||
import org.yameida.worktool.utils.*
|
import org.yameida.worktool.utils.*
|
||||||
import org.yameida.worktool.utils.capture.MediaProjectionHolder
|
import org.yameida.worktool.utils.capture.MediaProjectionHolder
|
||||||
@@ -152,9 +153,7 @@ class ListenActivity : AppCompatActivity() {
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (PermissionHelper.isAccessibilitySettingOn()) {
|
if (PermissionHelper.isAccessibilitySettingOn()) {
|
||||||
sw_accessibility.isChecked = true
|
WeworkController.weworkService.disableSelf()
|
||||||
val intent = Intent(Settings.ACTION_ACCESSIBILITY_SETTINGS)
|
|
||||||
startActivity(intent)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ import okhttp3.RequestBody
|
|||||||
import org.json.JSONObject
|
import org.json.JSONObject
|
||||||
import org.yameida.worktool.Constant
|
import org.yameida.worktool.Constant
|
||||||
import org.yameida.worktool.R
|
import org.yameida.worktool.R
|
||||||
|
import org.yameida.worktool.service.WeworkController
|
||||||
import org.yameida.worktool.utils.*
|
import org.yameida.worktool.utils.*
|
||||||
|
|
||||||
|
|
||||||
@@ -87,8 +88,7 @@ class SettingsActivity : AppCompatActivity() {
|
|||||||
bt_open_main.setOnClickListener {
|
bt_open_main.setOnClickListener {
|
||||||
freshOpenMain()
|
freshOpenMain()
|
||||||
if (PermissionHelper.isAccessibilitySettingOn()) {
|
if (PermissionHelper.isAccessibilitySettingOn()) {
|
||||||
val intent = Intent(Settings.ACTION_ACCESSIBILITY_SETTINGS)
|
WeworkController.weworkService.disableSelf()
|
||||||
startActivity(intent)
|
|
||||||
} else {
|
} else {
|
||||||
if (Constant.robotId.isBlank()) {
|
if (Constant.robotId.isBlank()) {
|
||||||
ToastUtils.showLong("请先填写并保存链接号~")
|
ToastUtils.showLong("请先填写并保存链接号~")
|
||||||
|
|||||||
@@ -29,6 +29,7 @@ class WeworkService : AccessibilityService() {
|
|||||||
lateinit var webSocketManager: WebSocketManager
|
lateinit var webSocketManager: WebSocketManager
|
||||||
var currentPackage = ""
|
var currentPackage = ""
|
||||||
var currentClass = ""
|
var currentClass = ""
|
||||||
|
var currentClassPackage = ""
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
private var mFileObserver: FileObserver? = null
|
private var mFileObserver: FileObserver? = null
|
||||||
@@ -98,6 +99,7 @@ class WeworkService : AccessibilityService() {
|
|||||||
if (className.contains(currentPackage)) {
|
if (className.contains(currentPackage)) {
|
||||||
LogUtils.d("更新当前页面: currentPackage: ${event.packageName} className: ${event.className}")
|
LogUtils.d("更新当前页面: currentPackage: ${event.packageName} className: ${event.className}")
|
||||||
currentClass = className
|
currentClass = className
|
||||||
|
currentClassPackage = currentPackage
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1323,4 +1323,29 @@ object AccessibilityUtil {
|
|||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 等待页面消失
|
||||||
|
* @param clazz 页面Class
|
||||||
|
* @param timeout 检查超时时间
|
||||||
|
*/
|
||||||
|
fun waitForPageMissing(
|
||||||
|
clazz: String,
|
||||||
|
timeout: Long = 5000
|
||||||
|
): Boolean {
|
||||||
|
val service = WeworkController.weworkService
|
||||||
|
val startTime = System.currentTimeMillis()
|
||||||
|
var currentTime = startTime
|
||||||
|
while (currentTime - startTime <= timeout) {
|
||||||
|
if (service.currentClass == clazz || service.currentClass.split(".").last() == clazz) {
|
||||||
|
} else {
|
||||||
|
Log.v(tag, "pageMissing: $clazz")
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
sleep(SHORT_INTERVAL)
|
||||||
|
currentTime = System.currentTimeMillis()
|
||||||
|
}
|
||||||
|
Log.e(tag, "pageMissing: not found: $clazz current: ${service.currentClass}")
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -170,7 +170,11 @@ class DefaultFloatService : BaseFloatWindow(), View.OnClickListener {
|
|||||||
public override fun leftViewOpened(leftView: View) {
|
public override fun leftViewOpened(leftView: View) {
|
||||||
val layoutParams = leftView.fl_window_measure_left.layoutParams as FrameLayout.LayoutParams
|
val layoutParams = leftView.fl_window_measure_left.layoutParams as FrameLayout.LayoutParams
|
||||||
leftView.fl_window_measure_left.measure(0, 0)
|
leftView.fl_window_measure_left.measure(0, 0)
|
||||||
layoutParams.topMargin = params.y - BarUtils.getStatusBarHeight() - (leftView.fl_window_measure_left.measuredHeight / 2 - leftView.iv_logo_left.measuredHeight / 2)
|
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.P) {
|
||||||
|
layoutParams.topMargin = params.y - (leftView.fl_window_measure_left.measuredHeight / 2 - leftView.iv_logo_left.measuredHeight / 2)
|
||||||
|
} else {
|
||||||
|
layoutParams.topMargin = params.y - BarUtils.getStatusBarHeight() - (leftView.fl_window_measure_left.measuredHeight / 2 - leftView.iv_logo_left.measuredHeight / 2)
|
||||||
|
}
|
||||||
leftView.fl_window_measure_left.layoutParams = layoutParams
|
leftView.fl_window_measure_left.layoutParams = layoutParams
|
||||||
// ToastUtils.showShort("左边的菜单被打开了")
|
// ToastUtils.showShort("左边的菜单被打开了")
|
||||||
}
|
}
|
||||||
@@ -178,7 +182,11 @@ class DefaultFloatService : BaseFloatWindow(), View.OnClickListener {
|
|||||||
public override fun rightViewOpened(rightView: View) {
|
public override fun rightViewOpened(rightView: View) {
|
||||||
val layoutParams = rightView.fl_window_measure_right.layoutParams as FrameLayout.LayoutParams
|
val layoutParams = rightView.fl_window_measure_right.layoutParams as FrameLayout.LayoutParams
|
||||||
rightView.fl_window_measure_right.measure(0, 0)
|
rightView.fl_window_measure_right.measure(0, 0)
|
||||||
layoutParams.topMargin = params.y - BarUtils.getStatusBarHeight() - (rightView.fl_window_measure_right.measuredHeight / 2 - rightView.iv_logo_right.measuredHeight / 2)
|
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.P) {
|
||||||
|
layoutParams.topMargin = params.y - (rightView.fl_window_measure_right.measuredHeight / 2 - rightView.iv_logo_right.measuredHeight / 2)
|
||||||
|
} else {
|
||||||
|
layoutParams.topMargin = params.y - BarUtils.getStatusBarHeight() - (rightView.fl_window_measure_right.measuredHeight / 2 - rightView.iv_logo_right.measuredHeight / 2)
|
||||||
|
}
|
||||||
layoutParams.leftMargin = ScreenUtils.getScreenWidth() - rightView.fl_window_measure_right.measuredWidth
|
layoutParams.leftMargin = ScreenUtils.getScreenWidth() - rightView.fl_window_measure_right.measuredWidth
|
||||||
rightView.fl_window_measure_right.layoutParams = layoutParams
|
rightView.fl_window_measure_right.layoutParams = layoutParams
|
||||||
// ToastUtils.showShort("右边的菜单被打开了")
|
// ToastUtils.showShort("右边的菜单被打开了")
|
||||||
|
|||||||
Reference in New Issue
Block a user