6.6.2 - Alpha5 - 主页抽屉无障碍服务开关支持与脚本代码同步
This commit is contained in:
@@ -27,7 +27,8 @@
|
||||
"部分控件主题色与背景色对比度过低时的视觉体验",
|
||||
"应用内页面导航栏设置为透明或半透明以增强视觉体验",
|
||||
"UI 模式状态栏及导航栏默认为 `md_grey_50` 色值且设置为亮色模式",
|
||||
"长按应用主页 \"文件\" 标签可切换浮动按钮可见状态",
|
||||
"应用主页 \"文件\" 标签支持通过长按切换浮动按钮可见状态",
|
||||
"应用主页抽屉无障碍服务开关支持与脚本代码同步",
|
||||
"代码编辑器标题文字支持字体大小自适应",
|
||||
"日志页面浮动按钮可见状态与列表滚动操作联动",
|
||||
"脚本项目配置文件 project.json 支持更多打包选项 _[`issue #305`](http://issues.autojs6.com/305)_ _[`issue #306`](http://issues.autojs6.com/306)_",
|
||||
|
||||
@@ -11,6 +11,8 @@ import org.autojs.autojs.core.accessibility.SimpleActionAutomator.Companion.Acce
|
||||
import org.autojs.autojs.core.automator.AccessibilityEventWrapper
|
||||
import org.autojs.autojs.event.EventDispatcher
|
||||
import org.autojs.autojs.core.pref.Language
|
||||
import org.autojs.autojs.ui.main.drawer.DrawerFragment.Companion.Event.AccessibilityServiceStateChangedEvent
|
||||
import org.greenrobot.eventbus.EventBus
|
||||
import java.util.TreeMap
|
||||
import java.util.concurrent.ExecutorService
|
||||
import java.util.concurrent.Executors
|
||||
@@ -114,6 +116,7 @@ open class AccessibilityService : android.accessibilityservice.AccessibilityServ
|
||||
|
||||
mEventExecutor?.shutdownNow()
|
||||
callback?.onDisconnected()
|
||||
EventBus.getDefault().post(object : AccessibilityServiceStateChangedEvent {})
|
||||
|
||||
super.onDestroy()
|
||||
}
|
||||
@@ -123,6 +126,7 @@ open class AccessibilityService : android.accessibilityservice.AccessibilityServ
|
||||
Log.d(TAG, "onServiceConnected: $serviceInfo")
|
||||
instance = this
|
||||
callback?.onConnected()
|
||||
EventBus.getDefault().post(object : AccessibilityServiceStateChangedEvent {})
|
||||
LOCK.lock()
|
||||
ENABLED.signalAll()
|
||||
LOCK.unlock()
|
||||
|
||||
@@ -36,6 +36,8 @@ class Auto(private val scriptRuntime: ScriptRuntime) : Augmentable(scriptRuntime
|
||||
override val selfAssignmentFunctions = listOf(
|
||||
::start.name,
|
||||
::stop.name,
|
||||
::enable.name,
|
||||
::disable.name,
|
||||
::isRunning.name,
|
||||
::exists.name,
|
||||
::stateListener.name,
|
||||
@@ -117,12 +119,24 @@ class Auto(private val scriptRuntime: ScriptRuntime) : Augmentable(scriptRuntime
|
||||
accessibilityTool.startService()
|
||||
}
|
||||
|
||||
@JvmStatic
|
||||
@RhinoRuntimeFunctionInterface
|
||||
fun enable(scriptRuntime: ScriptRuntime, args: Array<out Any?>) = ensureArgumentsIsEmpty(args) {
|
||||
start(scriptRuntime, args)
|
||||
}
|
||||
|
||||
@JvmStatic
|
||||
@RhinoRuntimeFunctionInterface
|
||||
fun stop(scriptRuntime: ScriptRuntime, args: Array<out Any?>) = ensureArgumentsIsEmpty(args) {
|
||||
accessibilityTool.stopService()
|
||||
}
|
||||
|
||||
@JvmStatic
|
||||
@RhinoRuntimeFunctionInterface
|
||||
fun disable(scriptRuntime: ScriptRuntime, args: Array<out Any?>) = ensureArgumentsIsEmpty(args) {
|
||||
stop(scriptRuntime, args)
|
||||
}
|
||||
|
||||
@JvmStatic
|
||||
@RhinoRuntimeFunctionInterface
|
||||
fun isRunning(scriptRuntime: ScriptRuntime, args: Array<out Any?>) = ensureArgumentsIsEmpty(args) {
|
||||
|
||||
@@ -102,8 +102,6 @@ open class DrawerFragment : Fragment() {
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
|
||||
EventBus.getDefault().register(this)
|
||||
|
||||
mContext = requireContext()
|
||||
|
||||
mActivity = requireActivity() as MainActivity
|
||||
@@ -178,14 +176,15 @@ open class DrawerFragment : Fragment() {
|
||||
mClientModeItem = DrawerMenuDisposableItem(this, R.drawable.ic_computer_black_48dp, R.string.text_client_mode).also {
|
||||
setClientModeItem(it)
|
||||
}
|
||||
setStateDisposable(JsonSocketClient.cxnState
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribe {
|
||||
if (it.state == DevPluginService.State.DISCONNECTED) {
|
||||
mClientModeItem.subtitle = null
|
||||
}
|
||||
consumeJsonSocketItemState(mClientModeItem, it)
|
||||
})
|
||||
setStateDisposable(
|
||||
JsonSocketClient.cxnState
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribe {
|
||||
if (it.state == DevPluginService.State.DISCONNECTED) {
|
||||
mClientModeItem.subtitle = null
|
||||
}
|
||||
consumeJsonSocketItemState(mClientModeItem, it)
|
||||
})
|
||||
setOnConnectionException { e: Throwable ->
|
||||
mClientModeItem.setCheckedIfNeeded(false)
|
||||
ViewUtils.showToast(context, getString(R.string.error_connect_to_remote, e.message), true)
|
||||
@@ -195,14 +194,15 @@ open class DrawerFragment : Fragment() {
|
||||
}
|
||||
|
||||
JsonSocketServerTool(mContext).apply {
|
||||
setStateDisposable(JsonSocketServer.cxnState
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribe { state: DevPluginService.State ->
|
||||
mServerModeItem.subtitle = takeIf { state.state == DevPluginService.State.CONNECTED }?.let {
|
||||
NetworkUtils.getIpAddress()
|
||||
}
|
||||
consumeJsonSocketItemState(mServerModeItem, state)
|
||||
})
|
||||
setStateDisposable(
|
||||
JsonSocketServer.cxnState
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribe { state: DevPluginService.State ->
|
||||
mServerModeItem.subtitle = takeIf { state.state == DevPluginService.State.CONNECTED }?.let {
|
||||
NetworkUtils.getIpAddress()
|
||||
}
|
||||
consumeJsonSocketItemState(mServerModeItem, state)
|
||||
})
|
||||
setOnConnectionException { e: Throwable ->
|
||||
mServerModeItem.setCheckedIfNeeded(false)
|
||||
ViewUtils.showToast(context, getString(R.string.error_enable_server, e.message), true)
|
||||
@@ -396,16 +396,25 @@ open class DrawerFragment : Fragment() {
|
||||
binding.exit.setOnClickListener { mActivity.exitCompletely() }
|
||||
}
|
||||
|
||||
override fun onStart() {
|
||||
super.onStart()
|
||||
EventBus.getDefault().register(this)
|
||||
}
|
||||
|
||||
override fun onResume() {
|
||||
super.onResume()
|
||||
syncMenuItemStates()
|
||||
}
|
||||
|
||||
override fun onStop() {
|
||||
super.onStop()
|
||||
EventBus.getDefault().unregister(this)
|
||||
}
|
||||
|
||||
override fun onDestroy() {
|
||||
super.onDestroy()
|
||||
mClientModeItem.dispose()
|
||||
mServerModeItem.dispose()
|
||||
EventBus.getDefault().unregister(this)
|
||||
// mActivity.unregisterReceiver(mReceiver)
|
||||
}
|
||||
|
||||
@@ -435,6 +444,12 @@ open class DrawerFragment : Fragment() {
|
||||
// ViewCompat.getWindowInsetsController(mActivity.window.decorView)?.show(WindowInsets.Type.systemBars())
|
||||
}
|
||||
|
||||
@Subscribe
|
||||
@Suppress("unused", "UNUSED_PARAMETER")
|
||||
fun onAccessibilityServiceStateChanged(event: Event.AccessibilityServiceStateChangedEvent) {
|
||||
mAccessibilityServiceItem.sync()
|
||||
}
|
||||
|
||||
private fun initMenuItems() {
|
||||
drawerMenuAdapter = listOf(
|
||||
DrawerMenuGroup(R.string.text_service),
|
||||
@@ -510,6 +525,7 @@ open class DrawerFragment : Fragment() {
|
||||
class Event {
|
||||
interface OnDrawerOpened
|
||||
interface OnDrawerClosed
|
||||
interface AccessibilityServiceStateChangedEvent
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#Mon Mar 24 19:54:51 CST 2025
|
||||
BUILD_TIME=1742817291092
|
||||
#Tue Mar 25 00:54:41 CST 2025
|
||||
BUILD_TIME=1742835281518
|
||||
COMPILE_SDK_VERSION=35
|
||||
JAVA_VERSION=23
|
||||
JAVA_VERSION_MIN_RADICAL=0
|
||||
@@ -17,6 +17,6 @@ RAPID_OCR_OPENCV_MOBILE_LABEL_VERSION=13
|
||||
RAPID_OCR_OPENCV_MOBILE_VERSION=4.5.3
|
||||
TARGET_SDK_VERSION=35
|
||||
TARGET_SDK_VERSION_INRT=29
|
||||
VERSION_BUILD=3052
|
||||
VERSION_BUILD=3053
|
||||
VERSION_NAME=6.6.2 Alpha5
|
||||
VSCODE_EXT_REQUIRED_VERSION=1.0.8
|
||||
|
||||
Reference in New Issue
Block a user