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