6.6.1 - Alpha2 - 修复选择器不支持 ConsString 类型参数的问题 (issue #277)
This commit is contained in:
@@ -12,6 +12,7 @@
|
|||||||
"调用不存在的方法时可能出现的 \"非原始类型值\" 异常",
|
"调用不存在的方法时可能出现的 \"非原始类型值\" 异常",
|
||||||
"部分设备无法正常添加脚本快捷方式的问题 (试修) _[`issue #221`](http://issues.autojs6.com/221)_",
|
"部分设备无法正常添加脚本快捷方式的问题 (试修) _[`issue #221`](http://issues.autojs6.com/221)_",
|
||||||
"automator.click/longClick 方法参数类型限制错误 _[`issue #275`](http://issues.autojs6.com/275)_",
|
"automator.click/longClick 方法参数类型限制错误 _[`issue #275`](http://issues.autojs6.com/275)_",
|
||||||
|
"选择器不支持 ConsString 类型参数的问题 _[`issue #277`](http://issues.autojs6.com/277)_",
|
||||||
"UiObjectCollection 实例缺失自身方法及属性的问题"
|
"UiObjectCollection 实例缺失自身方法及属性的问题"
|
||||||
],
|
],
|
||||||
"improvement": [
|
"improvement": [
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ import org.autojs.autojs.util.RhinoUtils.js_typeof
|
|||||||
import org.autojs.autojs.util.RhinoUtils.newNativeObject
|
import org.autojs.autojs.util.RhinoUtils.newNativeObject
|
||||||
import org.autojs.autojs.util.StringUtils.str
|
import org.autojs.autojs.util.StringUtils.str
|
||||||
import org.autojs.autojs6.R
|
import org.autojs.autojs6.R
|
||||||
|
import org.mozilla.javascript.ConsString
|
||||||
import org.mozilla.javascript.Context
|
import org.mozilla.javascript.Context
|
||||||
import org.mozilla.javascript.NativeError
|
import org.mozilla.javascript.NativeError
|
||||||
import org.mozilla.javascript.Scriptable
|
import org.mozilla.javascript.Scriptable
|
||||||
@@ -80,11 +81,12 @@ object AnyExtensions {
|
|||||||
*/
|
*/
|
||||||
fun <T> T?.jsSanitize() = if (this.isJsNullish()) null else this
|
fun <T> T?.jsSanitize() = if (this.isJsNullish()) null else this
|
||||||
|
|
||||||
fun Any?.jsUnwrapped() = when (this) {
|
fun Any?.jsUnwrapped(): Any? = when (this) {
|
||||||
is String -> this
|
is String -> this
|
||||||
|
is ConsString -> this.toString()
|
||||||
is Number -> Context.toNumber(this)
|
is Number -> Context.toNumber(this)
|
||||||
is Boolean -> Context.toBoolean(this)
|
is Boolean -> Context.toBoolean(this)
|
||||||
is Wrapper -> this.unwrap()
|
is Wrapper -> this.unwrap().jsUnwrapped()
|
||||||
is Unit -> UNDEFINED
|
is Unit -> UNDEFINED
|
||||||
is List<*> -> this.toNativeArray()
|
is List<*> -> this.toNativeArray()
|
||||||
is Array<*> -> this.toNativeArray()
|
is Array<*> -> this.toNativeArray()
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import org.autojs.autojs.annotation.RhinoRuntimeFunctionInterface
|
|||||||
import org.autojs.autojs.core.accessibility.UiSelector
|
import org.autojs.autojs.core.accessibility.UiSelector
|
||||||
import org.autojs.autojs.core.automator.UiObject
|
import org.autojs.autojs.core.automator.UiObject
|
||||||
import org.autojs.autojs.extension.AnyExtensions.isJsNullish
|
import org.autojs.autojs.extension.AnyExtensions.isJsNullish
|
||||||
|
import org.autojs.autojs.extension.AnyExtensions.jsUnwrapped
|
||||||
import org.autojs.autojs.extension.FlexibleArray
|
import org.autojs.autojs.extension.FlexibleArray
|
||||||
import org.autojs.autojs.extension.ScriptableExtensions.hasProp
|
import org.autojs.autojs.extension.ScriptableExtensions.hasProp
|
||||||
import org.autojs.autojs.extension.ScriptableExtensions.defineProp
|
import org.autojs.autojs.extension.ScriptableExtensions.defineProp
|
||||||
@@ -18,6 +19,7 @@ import org.autojs.autojs.util.RhinoUtils.coerceString
|
|||||||
import org.autojs.autojs.util.RhinoUtils.newBaseFunction
|
import org.autojs.autojs.util.RhinoUtils.newBaseFunction
|
||||||
import org.autojs.autojs.util.RhinoUtils.withRhinoContext
|
import org.autojs.autojs.util.RhinoUtils.withRhinoContext
|
||||||
import org.mozilla.javascript.BaseFunction
|
import org.mozilla.javascript.BaseFunction
|
||||||
|
import org.mozilla.javascript.ConsString
|
||||||
import org.mozilla.javascript.Context
|
import org.mozilla.javascript.Context
|
||||||
import org.mozilla.javascript.Scriptable
|
import org.mozilla.javascript.Scriptable
|
||||||
import java.lang.reflect.Method
|
import java.lang.reflect.Method
|
||||||
@@ -110,7 +112,7 @@ class Selector(private val scriptRuntime: ScriptRuntime) : Augmentable(scriptRun
|
|||||||
|
|
||||||
private fun convertArgumentsIfNeeded(method: Method, args: Array<out Any?>): Array<Any?> {
|
private fun convertArgumentsIfNeeded(method: Method, args: Array<out Any?>): Array<Any?> {
|
||||||
return method.parameterTypes.mapIndexed { index, paramType ->
|
return method.parameterTypes.mapIndexed { index, paramType ->
|
||||||
val arg = args[index]
|
val arg = args[index].jsUnwrapped()
|
||||||
when {
|
when {
|
||||||
arg !is Double -> arg
|
arg !is Double -> arg
|
||||||
paramType == Double::class.java || paramType == java.lang.Double.TYPE -> arg
|
paramType == Double::class.java || paramType == java.lang.Double.TYPE -> arg
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#Tue Dec 24 20:14:13 CST 2024
|
#Tue Dec 24 20:40:53 CST 2024
|
||||||
BUILD_TIME=1735042453409
|
BUILD_TIME=1735044053799
|
||||||
COMPILE_SDK_VERSION=34
|
COMPILE_SDK_VERSION=34
|
||||||
JAVA_VERSION=23
|
JAVA_VERSION=23
|
||||||
JAVA_VERSION_MIN_RADICAL=0
|
JAVA_VERSION_MIN_RADICAL=0
|
||||||
|
|||||||
Reference in New Issue
Block a user