6.7.0 - Alpha18 - 重构 org.autojs.autojs.extension 包结构
This commit is contained in:
@@ -15,7 +15,7 @@ import io.reactivex.disposables.Disposable
|
||||
import io.reactivex.schedulers.Schedulers
|
||||
import org.autojs.autojs.app.DialogUtils
|
||||
import org.autojs.autojs.core.pref.Pref
|
||||
import org.autojs.autojs.extension.MaterialDialogExtensions.widgetThemeColor
|
||||
import org.autojs.autojs.util.MaterialDialogUtils.widgetThemeColor
|
||||
import org.autojs.autojs.pluginclient.DevPluginService
|
||||
import org.autojs.autojs.pluginclient.JsonSocketClient
|
||||
import org.autojs.autojs.ui.common.NotAskAgainDialog
|
||||
|
||||
@@ -2,7 +2,7 @@ package org.autojs.autojs.core.accessibility
|
||||
|
||||
import android.content.Context
|
||||
import android.view.accessibility.AccessibilityWindowInfo
|
||||
import org.autojs.autojs.extension.ArrayExtensions.toHashCode
|
||||
import org.autojs.autojs.rhino.extension.IterableExtensions.toHashCode
|
||||
import org.autojs.autojs.util.ObjectUtils
|
||||
import org.autojs.autojs.util.StringUtils.str
|
||||
import org.autojs.autojs6.R
|
||||
|
||||
@@ -11,10 +11,10 @@ import org.autojs.autojs.app.GlobalAppContext
|
||||
import org.autojs.autojs.core.accessibility.AccessibilityNodeInfoAllocator
|
||||
import org.autojs.autojs.core.accessibility.AccessibilityNodeInfoHelper
|
||||
import org.autojs.autojs.core.accessibility.UiSelector
|
||||
import org.autojs.autojs.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.extension.AnyExtensions.isJsUndefined
|
||||
import org.autojs.autojs.extension.AnyExtensions.jsBrief
|
||||
import org.autojs.autojs.extension.ArrayExtensions.toNativeArray
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.isJsUndefined
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.jsBrief
|
||||
import org.autojs.autojs.rhino.extension.IterableExtensions.toNativeArray
|
||||
import org.autojs.autojs.runtime.ScriptRuntime
|
||||
import org.autojs.autojs.runtime.exception.WrappedIllegalArgumentException
|
||||
import org.autojs.autojs.util.DisplayUtils.toRoundIntX
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package org.autojs.autojs.core.automator
|
||||
|
||||
import org.autojs.autojs.core.accessibility.UiSelector
|
||||
import org.autojs.autojs.extension.ArrayExtensions.toHashCode
|
||||
import org.autojs.autojs.rhino.extension.IterableExtensions.toHashCode
|
||||
import org.autojs.autojs.tool.Consumer
|
||||
import org.autojs.autojs.util.RhinoUtils
|
||||
import org.mozilla.javascript.Scriptable
|
||||
|
||||
@@ -26,7 +26,7 @@ import org.autojs.autojs.annotation.OmniColor
|
||||
import org.autojs.autojs.annotation.ScriptInterface
|
||||
import org.autojs.autojs.core.pref.Language
|
||||
import org.autojs.autojs.core.ui.inflater.util.Gravities
|
||||
import org.autojs.autojs.extension.MaterialDialogExtensions.widgetThemeColor
|
||||
import org.autojs.autojs.util.MaterialDialogUtils.widgetThemeColor
|
||||
import org.autojs.autojs.permission.DisplayOverOtherAppsPermission
|
||||
import org.autojs.autojs.runtime.ScriptRuntime
|
||||
import org.autojs.autojs.runtime.api.AbstractConsole
|
||||
|
||||
@@ -4,8 +4,9 @@ package org.autojs.autojs.core.crypto
|
||||
|
||||
import android.util.Base64
|
||||
import org.autojs.autojs.annotation.ScriptInterface
|
||||
import org.autojs.autojs.extension.ScriptableExtensions.prop
|
||||
import org.autojs.autojs.util.ArrayUtils
|
||||
import org.autojs.autojs.core.crypto.Crypto.input
|
||||
import org.autojs.autojs.rhino.extension.NativeArrayExtensions.jsBytesToByteArray
|
||||
import org.autojs.autojs.rhino.extension.ScriptableExtensions.prop
|
||||
import org.autojs.autojs.util.RhinoUtils.newNativeObject
|
||||
import org.mozilla.javascript.NativeArray
|
||||
import org.mozilla.javascript.NativeObject
|
||||
@@ -116,7 +117,7 @@ object Crypto {
|
||||
when (val iv = options.prop("iv")) {
|
||||
is String -> cipher.init(mode, niceKey.toKeySpec(transformation), IvParameterSpec(iv.toByteArray()))
|
||||
is ByteArray -> cipher.init(mode, niceKey.toKeySpec(transformation), IvParameterSpec(iv))
|
||||
is NativeArray -> cipher.init(mode, niceKey.toKeySpec(transformation), IvParameterSpec(ArrayUtils.jsBytesToByteArray(iv)))
|
||||
is NativeArray -> cipher.init(mode, niceKey.toKeySpec(transformation), IvParameterSpec(iv.jsBytesToByteArray()))
|
||||
is AlgorithmParameterSpec -> cipher.init(mode, niceKey.toKeySpec(transformation), iv)
|
||||
else -> cipher.init(mode, niceKey.toKeySpec(transformation))
|
||||
}
|
||||
@@ -158,7 +159,7 @@ object Crypto {
|
||||
private fun input(input: Any, options: NativeObject, callback: (bytes: ByteArray, start: Int, length: Int) -> Unit) {
|
||||
when (input) {
|
||||
is ByteArray -> callback(input, 0, input.size)
|
||||
is NativeArray -> callback(ArrayUtils.jsBytesToByteArray(input), 0, input.size)
|
||||
is NativeArray -> callback(input.jsBytesToByteArray(), 0, input.size)
|
||||
is String -> when (options.prop("input")) {
|
||||
"file" -> {
|
||||
val fis = FileInputStream(input)
|
||||
|
||||
@@ -9,7 +9,7 @@ import androidx.core.graphics.get
|
||||
import org.autojs.autojs.annotation.ScriptInterface
|
||||
import org.autojs.autojs.core.opencv.Mat
|
||||
import org.autojs.autojs.core.opencv.OpenCVHelper
|
||||
import org.autojs.autojs.extension.AnyExtensions.toRuntimePath
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.toRuntimePath
|
||||
import org.autojs.autojs.pio.UncheckedIOException
|
||||
import org.autojs.autojs.runtime.ScriptRuntime
|
||||
import org.autojs.autojs.runtime.api.Images
|
||||
|
||||
@@ -6,8 +6,8 @@ import android.content.ServiceConnection
|
||||
import android.content.pm.ApplicationInfo
|
||||
import android.os.IBinder
|
||||
import org.autojs.autojs.annotation.ScriptInterface
|
||||
import org.autojs.autojs.extension.ArrayExtensions.toHashCode
|
||||
import org.autojs.autojs.rhino.TopLevelScope
|
||||
import org.autojs.autojs.rhino.extension.IterableExtensions.toHashCode
|
||||
import org.autojs.autojs.runtime.api.Plugins.PluginRuntime
|
||||
import java.lang.reflect.Method
|
||||
|
||||
|
||||
@@ -18,9 +18,9 @@ import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.launch
|
||||
import kotlinx.coroutines.withContext
|
||||
import org.autojs.autojs.app.DialogUtils.showAdaptive
|
||||
import org.autojs.autojs.extension.MaterialDialogExtensions.makeSettingsLaunchable
|
||||
import org.autojs.autojs.extension.MaterialDialogExtensions.makeTextCopyable
|
||||
import org.autojs.autojs.extension.MaterialDialogExtensions.setCopyableTextIfAbsent
|
||||
import org.autojs.autojs.util.MaterialDialogUtils.makeSettingsLaunchable
|
||||
import org.autojs.autojs.util.MaterialDialogUtils.makeTextCopyable
|
||||
import org.autojs.autojs.util.MaterialDialogUtils.setCopyableTextIfAbsent
|
||||
import org.autojs.autojs.runtime.api.augment.converter.core.Bytes
|
||||
import org.autojs.autojs.theme.ThemeColorManager
|
||||
import org.autojs.autojs.util.ColorUtils
|
||||
|
||||
@@ -5,7 +5,7 @@ import androidx.lifecycle.LifecycleCoroutineScope
|
||||
import com.afollestad.materialdialogs.DialogAction
|
||||
import com.afollestad.materialdialogs.MaterialDialog
|
||||
import kotlinx.coroutines.launch
|
||||
import org.autojs.autojs.extension.MaterialDialogExtensions.widgetThemeColor
|
||||
import org.autojs.autojs.util.MaterialDialogUtils.widgetThemeColor
|
||||
import org.autojs.autojs6.R
|
||||
|
||||
object PluginInstallActions {
|
||||
|
||||
@@ -10,7 +10,7 @@ import org.autojs.autojs.core.record.inputevent.InputEventRecorder;
|
||||
import org.autojs.autojs.core.record.inputevent.InputEventToAutoFileRecorder;
|
||||
import org.autojs.autojs.core.record.inputevent.InputEventToRootAutomatorRecorder;
|
||||
import org.autojs.autojs.core.record.inputevent.TouchRecorder;
|
||||
import org.autojs.autojs.extension.MaterialDialogExtensions;
|
||||
import org.autojs.autojs.util.MaterialDialogUtils;
|
||||
import org.autojs.autojs.ui.common.ScriptOperations;
|
||||
import org.autojs.autojs.util.ClipboardUtils;
|
||||
import org.autojs.autojs.util.ViewUtils;
|
||||
@@ -183,7 +183,7 @@ public class GlobalActionRecorder implements Recorder.OnStateChangedListener {
|
||||
.positiveText(R.string.dialog_button_confirm)
|
||||
.positiveColorRes(R.color.dialog_button_attraction)
|
||||
.canceledOnTouchOutside(false);
|
||||
MaterialDialogExtensions.choiceWidgetThemeColor(builder);
|
||||
MaterialDialogUtils.choiceWidgetThemeColor(builder);
|
||||
DialogUtils.showAdaptive(builder.build());
|
||||
}
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ import android.view.View
|
||||
import android.webkit.WebView
|
||||
import org.autojs.autojs.core.ui.inflater.ResourceParser
|
||||
import org.autojs.autojs.core.ui.inflater.util.Strings
|
||||
import org.autojs.autojs.extension.StringExtensions.isUri
|
||||
import org.autojs.autojs.util.StringUtils.isUri
|
||||
import org.autojs.autojs.runtime.ScriptRuntime
|
||||
|
||||
open class WebViewAttributes(scriptRuntime: ScriptRuntime, resourceParser: ResourceParser, view: View) : ViewGroupAttributes(scriptRuntime, resourceParser, view) {
|
||||
|
||||
@@ -7,10 +7,10 @@ import android.util.Log
|
||||
import android.view.View
|
||||
import org.autojs.autojs.core.ui.ViewExtras
|
||||
import org.autojs.autojs.engine.module.AssetAndUrlModuleSourceProvider
|
||||
import org.autojs.autojs.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.extension.AnyExtensions.jsBrief
|
||||
import org.autojs.autojs.extension.ScriptableExtensions.defineProp
|
||||
import org.autojs.autojs.extension.ScriptableExtensions.prop
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.jsBrief
|
||||
import org.autojs.autojs.rhino.extension.ScriptableExtensions.defineProp
|
||||
import org.autojs.autojs.rhino.extension.ScriptableExtensions.prop
|
||||
import org.autojs.autojs.pio.PFiles
|
||||
import org.autojs.autojs.pio.UncheckedIOException
|
||||
import org.autojs.autojs.project.ScriptConfig
|
||||
|
||||
@@ -2,8 +2,8 @@ package org.autojs.autojs.execution
|
||||
|
||||
import android.os.Parcel
|
||||
import android.os.Parcelable
|
||||
import org.autojs.autojs.extension.ArrayExtensions.toHashCode
|
||||
import org.autojs.autojs.project.ScriptConfig
|
||||
import org.autojs.autojs.rhino.extension.IterableExtensions.toHashCode
|
||||
|
||||
/**
|
||||
* Created by Stardust on Feb 1, 2017.
|
||||
|
||||
@@ -1,93 +0,0 @@
|
||||
package org.autojs.autojs.extension
|
||||
|
||||
import org.autojs.autojs.extension.AnyExtensions.jsBrief
|
||||
import org.autojs.autojs.util.RhinoUtils.UNDEFINED
|
||||
import org.autojs.autojs.util.RhinoUtils.newNativeObject
|
||||
import org.autojs.autojs.util.RhinoUtils.withRhinoContext
|
||||
import org.mozilla.javascript.Context
|
||||
import org.mozilla.javascript.NativeArray
|
||||
import org.mozilla.javascript.NativeObject
|
||||
import org.mozilla.javascript.Wrapper
|
||||
|
||||
object ArrayExtensions {
|
||||
|
||||
// @Hint by JetBrains AI Assistant on Oct 25, 2024.
|
||||
// ! 31 is a prime number that acts as a mixer for hash code calculation.
|
||||
// ! Multiplying by the prime number 31 helps to evenly distribute the hash values
|
||||
// ! across different properties and reduce collisions.
|
||||
// ! zh-CN (translated by Jetbrains AI Assistant on Oct 25, 2024):
|
||||
// ! 31 是一个质数, 它的作用类似于混合器, 用于哈希码的计算.
|
||||
// ! 乘以质数 31 可以帮助在不同属性值上更均匀地分散哈希值, 减少碰撞.
|
||||
fun Iterable<Any?>.toHashCode(initial: Int = 0): Int = fold(initial) { acc, o ->
|
||||
31 * acc + when (o) {
|
||||
null -> 0
|
||||
is Int -> o
|
||||
is Long -> o.hashCode()
|
||||
is Float -> o.hashCode()
|
||||
is Double -> o.hashCode()
|
||||
is Byte -> o.hashCode()
|
||||
is Short -> o.hashCode()
|
||||
is CharSequence -> o.hashCode()
|
||||
is Array<*> -> o.contentHashCode()
|
||||
is ByteArray -> o.contentHashCode()
|
||||
is CharArray -> o.contentHashCode()
|
||||
is ShortArray -> o.contentHashCode()
|
||||
is IntArray -> o.contentHashCode()
|
||||
is LongArray -> o.contentHashCode()
|
||||
is FloatArray -> o.contentHashCode()
|
||||
is DoubleArray -> o.contentHashCode()
|
||||
is BooleanArray -> o.contentHashCode()
|
||||
else -> o.hashCode()
|
||||
}
|
||||
}
|
||||
|
||||
fun <T> Array<T>.unshiftWith(thisObj: Any?): Array<Any?> {
|
||||
return Array(this.size + 1) { if (it == 0) thisObj else this[it - 1] }
|
||||
}
|
||||
|
||||
fun <T> Array<T>.symmetricDifference(other: Array<T>): Set<T> {
|
||||
val a = this.asIterable() subtract other.asIterable().toSet()
|
||||
val b = other.asIterable() subtract this.asIterable().toSet()
|
||||
return a union b
|
||||
}
|
||||
|
||||
fun Iterable<*>.toNativeArray(): NativeArray {
|
||||
return withRhinoContext { cx ->
|
||||
val standardObjects = cx.initStandardObjects()
|
||||
cx.newArray(standardObjects, this.map { Context.javaToJS(it, standardObjects) }.toTypedArray()) as NativeArray
|
||||
}
|
||||
}
|
||||
|
||||
fun Array<*>.toNativeArray(): NativeArray {
|
||||
return withRhinoContext { cx ->
|
||||
val standardObjects = cx.initStandardObjects()
|
||||
cx.newArray(standardObjects, this.toList().map { Context.javaToJS(it, standardObjects) }.toTypedArray()) as NativeArray
|
||||
}
|
||||
}
|
||||
|
||||
fun <K, V> Map<K, V>.toNativeObject(): NativeObject = newNativeObject().also { o ->
|
||||
forEach { entry: Map.Entry<K, V> ->
|
||||
val key = Context.toString(entry.key)
|
||||
when (val value = entry.value) {
|
||||
is String -> o.put(key, o, value)
|
||||
is Number -> o.put(key, o, Context.toNumber(value))
|
||||
is Boolean -> o.put(key, o, Context.toBoolean(value))
|
||||
is Wrapper -> o.put(key, o, value.unwrap())
|
||||
is Unit -> o.put(key, o, UNDEFINED)
|
||||
is List<*> -> o.put(key, o, value.toNativeArray())
|
||||
is Array<*> -> o.put(key, o, value.toNativeArray())
|
||||
is Map<*, *> -> o.put(key, o, value.toNativeObject())
|
||||
is Pair<*, *> -> o.put(key, o, newNativeObject().also { newObj ->
|
||||
newObj.put(Context.toString(value.first), o, value.second)
|
||||
})
|
||||
else -> o.put(key, o, Context.javaToJS(value, o))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun <T> Array<T>.jsArrayBrief(separator: String = ", ", appendPaddingSpace: Boolean = true) = when (appendPaddingSpace) {
|
||||
true -> "[ ${this.joinToString(separator) { it.jsBrief() }} ]"
|
||||
else -> "[${this.joinToString(separator) { it.jsBrief() }}]"
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,78 +0,0 @@
|
||||
package org.autojs.autojs.extension
|
||||
|
||||
import androidx.core.net.toUri
|
||||
import java.io.File
|
||||
import java.text.Normalizer
|
||||
|
||||
object StringExtensions {
|
||||
|
||||
val String.estimateVisualWidth: Int
|
||||
get() {
|
||||
var width = 0
|
||||
var i = 0
|
||||
while (i < length) {
|
||||
// 取 code point (可能是两位 surrogates 拼成一个 code point)
|
||||
val cp = codePointAt(i)
|
||||
// 移动下标, 跳过组合过的 surrogate
|
||||
i += Character.charCount(cp)
|
||||
|
||||
// 简易判断: 东亚全宽/Emoji 等
|
||||
width += if (isLikelyFullwidth(cp)) 2 else 1
|
||||
}
|
||||
return width
|
||||
}
|
||||
|
||||
fun String.toDoubleOrNaN() = this.toDoubleOrNull() ?: Double.NaN
|
||||
|
||||
fun String.padStart(length: Int, padStr: String) = when {
|
||||
this.length >= length || padStr.isEmpty() -> this
|
||||
else -> getPadding(length, padStr) + this
|
||||
}
|
||||
|
||||
fun String.padEnd(length: Int, padStr: String) = when {
|
||||
this.length >= length || padStr.isEmpty() -> this
|
||||
else -> this + getPadding(length, padStr)
|
||||
}
|
||||
|
||||
private fun String.getPadding(length: Int, padStr: String): String {
|
||||
val repeatTimes = (length - this.length) / padStr.length
|
||||
val remainderStr = padStr.take((length - this.length) % padStr.length)
|
||||
return padStr.repeat(repeatTimes) + remainderStr
|
||||
}
|
||||
|
||||
fun CharSequence.looseMatches(reference: CharSequence): Boolean {
|
||||
return this.toString().normalizeForMatch() == reference.toString().normalizeForMatch()
|
||||
}
|
||||
|
||||
private fun String.normalizeForMatch(): String {
|
||||
return Normalizer.normalize(this, Normalizer.Form.NFD)
|
||||
.trim()
|
||||
.replace(Regex("\\p{M}"), "") // 移除组合符号, 如上标符号
|
||||
.replace(Regex("[^\\p{L}\\p{N}@.|]+"), "") // 只保留 [字母/数字/特定符号]
|
||||
.lowercase()
|
||||
}
|
||||
|
||||
private fun isLikelyFullwidth(codePoint: Int) = when (codePoint) {
|
||||
// CJK 中日韩统一表意文字
|
||||
in 0x4E00..0x9FFF -> true
|
||||
// 常见的 Emoji 起始, 又或者判断 Character.getType(cp)
|
||||
in 0x1F300..0x1FAFF -> true
|
||||
// East Asian Fullwidth, Wide 等范围, 可参考 EastAsianWidth.txt
|
||||
else -> false
|
||||
}
|
||||
|
||||
@JvmStatic
|
||||
fun String.isUri(): Boolean {
|
||||
if (isBlank()) return false
|
||||
val uri = runCatching { this.toUri() }.getOrNull() ?: return false
|
||||
uri.scheme?.lowercase() ?: return false
|
||||
return true
|
||||
}
|
||||
|
||||
@JvmStatic
|
||||
fun String.toFile(): File {
|
||||
val path = this
|
||||
return File(path)
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,76 +0,0 @@
|
||||
package org.autojs.autojs.extension
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.os.Build
|
||||
import android.view.View
|
||||
import android.widget.PopupMenu
|
||||
import android.widget.TextView
|
||||
import androidx.appcompat.widget.Toolbar
|
||||
import org.autojs.autojs.util.ViewUtils.onceGlobalLayout
|
||||
|
||||
/**
|
||||
* Created by SuperMonster003 on May 7, 2025.
|
||||
*/
|
||||
object ViewExtensions {
|
||||
|
||||
fun PopupMenu.setForceShowIconCompat() {
|
||||
val popup = this
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
|
||||
popup.setForceShowIcon(true)
|
||||
} else {
|
||||
runCatching {
|
||||
@SuppressLint("DiscouragedPrivateApi")
|
||||
val field = PopupMenu::class.java.getDeclaredField("mPopup")
|
||||
field.isAccessible = true
|
||||
// MenuPopupHelper
|
||||
val helper = field.get(popup)
|
||||
val method = helper.javaClass.getDeclaredMethod("setForceShowIcon", Boolean::class.javaPrimitiveType)
|
||||
method.invoke(helper, true)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
val Toolbar.titleView: TextView?
|
||||
get() = this.findViewById(androidx.appcompat.R.id.action_bar_title)
|
||||
?: runCatching {
|
||||
Toolbar::class.java.getDeclaredField("mTitleTextView").apply { isAccessible = true }.get(this@titleView) as TextView?
|
||||
}.getOrNull()
|
||||
|
||||
val Toolbar.subtitleView: TextView?
|
||||
get() = this.findViewById(androidx.appcompat.R.id.action_bar_subtitle)
|
||||
?: runCatching {
|
||||
Toolbar::class.java.getDeclaredField("mSubtitleTextView").apply { isAccessible = true }.get(this@subtitleView) as TextView?
|
||||
}.getOrNull()
|
||||
|
||||
@JvmStatic
|
||||
fun Toolbar.setOnTitleViewClickListener(l: View.OnClickListener?) {
|
||||
this.setOnTitleViewClickListener(l, withFallback = true)
|
||||
}
|
||||
|
||||
@JvmStatic
|
||||
fun Toolbar.setOnTitleViewClickListener(l: View.OnClickListener?, withFallback: Boolean) {
|
||||
this.onceGlobalLayout {
|
||||
this.titleView?.setOnClickListener(l) ?: run { if (withFallback) this.setOnClickListener(l) }
|
||||
}
|
||||
}
|
||||
|
||||
@JvmStatic
|
||||
fun Toolbar.setOnSubtitleViewClickListener(l: View.OnClickListener?) {
|
||||
this.onceGlobalLayout {
|
||||
this.subtitleView?.setOnClickListener(l)
|
||||
}
|
||||
}
|
||||
|
||||
@JvmStatic
|
||||
fun Toolbar.setOnTitleViewLongClickListener(l: View.OnLongClickListener?) {
|
||||
this.setOnTitleViewLongClickListener(l, withFallback = true)
|
||||
}
|
||||
|
||||
@JvmStatic
|
||||
fun Toolbar.setOnTitleViewLongClickListener(l: View.OnLongClickListener?, withFallback: Boolean) {
|
||||
this.onceGlobalLayout {
|
||||
this.titleView?.setOnLongClickListener(l) ?: run { if (withFallback) this.setOnLongClickListener(l) }
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -10,7 +10,7 @@ import android.os.Environment
|
||||
import android.provider.Settings
|
||||
import androidx.annotation.RequiresApi
|
||||
import androidx.core.app.ActivityCompat
|
||||
import org.autojs.autojs.extension.MaterialDialogExtensions.widgetThemeColor
|
||||
import org.autojs.autojs.util.MaterialDialogUtils.widgetThemeColor
|
||||
import org.autojs.autojs.permission.Base.getPermissionsToRequest
|
||||
import org.autojs.autojs.ui.common.NotAskAgainDialog
|
||||
import org.autojs.autojs.ui.main.MainActivity
|
||||
|
||||
@@ -4,7 +4,7 @@ import android.content.Context
|
||||
import android.os.Handler
|
||||
import android.os.Looper
|
||||
import ezy.assist.compat.SettingsCompat
|
||||
import org.autojs.autojs.extension.MaterialDialogExtensions.widgetThemeColor
|
||||
import org.autojs.autojs.util.MaterialDialogUtils.widgetThemeColor
|
||||
import org.autojs.autojs.ui.common.NotAskAgainDialog
|
||||
import org.autojs.autojs.ui.main.drawer.PermissionItemHelper
|
||||
import org.autojs.autojs.util.IntentUtils
|
||||
|
||||
@@ -6,6 +6,7 @@ import androidx.fragment.app.FragmentActivity
|
||||
import org.autojs.autojs.core.pref.Pref
|
||||
import org.autojs.autojs.runtime.api.Permissions
|
||||
import org.autojs.autojs.ui.main.drawer.PermissionItemHelper
|
||||
import org.autojs.autojs.util.ContextUtils.findActivity
|
||||
import org.autojs.autojs.util.NotificationUtils
|
||||
import org.autojs.autojs6.R
|
||||
|
||||
@@ -24,8 +25,8 @@ class PostNotificationsPermission(override val context: Context) : PermissionIte
|
||||
|
||||
override fun urge() {
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
|
||||
when (val ctx = context) {
|
||||
is FragmentActivity -> Permissions.getRequestMultiplePermissionsLauncher(ctx).let {
|
||||
when (val activity = context.findActivity()) {
|
||||
is FragmentActivity -> Permissions.getRequestMultiplePermissionsLauncher(activity).let {
|
||||
NotificationUtils.requestPermission(it)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,13 +1,10 @@
|
||||
package org.autojs.autojs.extension
|
||||
package org.autojs.autojs.rhino
|
||||
|
||||
import org.autojs.autojs.app.GlobalAppContext
|
||||
import org.autojs.autojs.runtime.exception.WrappedIllegalArgumentException
|
||||
import org.autojs.autojs.util.RhinoUtils
|
||||
import org.autojs.autojs.util.RhinoUtils.UNDEFINED
|
||||
import org.autojs.autojs6.R.plurals as R_plurals
|
||||
import org.autojs.autojs6.R.string as R_string
|
||||
|
||||
open class FlexibleArray {
|
||||
open class ArgumentGuards {
|
||||
|
||||
companion object {
|
||||
|
||||
@@ -16,12 +13,12 @@ open class FlexibleArray {
|
||||
|
||||
fun <R> ensureArgumentsNotEmpty(args: Array<out Any?>, function: (arrayArgs: Array<Any?>) -> R): R {
|
||||
if (args.isNotEmpty()) return unwrapAndInvokeAll(args, function)
|
||||
throw WrappedIllegalArgumentException(context.getString(R_string.error_arguments_cannot_be_empty))
|
||||
throw WrappedIllegalArgumentException(context.getString(org.autojs.autojs6.R.string.error_arguments_cannot_be_empty))
|
||||
}
|
||||
|
||||
fun <R> ensureArgumentsIsEmpty(args: Array<out Any?>, function: () -> R): R {
|
||||
if (args.isEmpty()) return function.invoke()
|
||||
throw WrappedIllegalArgumentException(context.getString(R_string.error_arguments_must_be_empty))
|
||||
throw WrappedIllegalArgumentException(context.getString(org.autojs.autojs6.R.string.error_arguments_must_be_empty))
|
||||
}
|
||||
|
||||
fun <R> ensureArgumentsOnlyOne(args: Array<out Any?>, function: (singleArg: Any?) -> R): R {
|
||||
@@ -30,8 +27,8 @@ open class FlexibleArray {
|
||||
|
||||
fun <R> ensureArgumentsOnlyOne(args: Array<out Any?>, preventUnwrapped: Boolean, function: (singleArg: Any?) -> R): R {
|
||||
return when {
|
||||
args.isEmpty() -> throw WrappedIllegalArgumentException(context.getString(R_string.error_arguments_cannot_be_empty))
|
||||
args.size > 1 -> throw WrappedIllegalArgumentException(resources.getQuantityString(R_plurals.error_method_only_accepts_n_arguments, 1, 1))
|
||||
args.isEmpty() -> throw WrappedIllegalArgumentException(context.getString(org.autojs.autojs6.R.string.error_arguments_cannot_be_empty))
|
||||
args.size > 1 -> throw WrappedIllegalArgumentException(resources.getQuantityString(org.autojs.autojs6.R.plurals.error_method_only_accepts_n_arguments, 1, 1))
|
||||
preventUnwrapped -> invokeFirst(args, function)
|
||||
else -> unwrapAndInvokeFirst(args, function)
|
||||
}
|
||||
@@ -39,23 +36,23 @@ open class FlexibleArray {
|
||||
|
||||
fun <R> ensureArgumentsAtLeast(args: Array<out Any?>, n: Int, function: (arrayArgs: Array<Any?>) -> R): R {
|
||||
if (args.size >= n) return unwrapAndInvokeAll(args, function)
|
||||
throw WrappedIllegalArgumentException(resources.getQuantityString(R_plurals.error_method_only_accepts_no_less_than_n_arguments, n, n))
|
||||
throw WrappedIllegalArgumentException(resources.getQuantityString(org.autojs.autojs6.R.plurals.error_method_only_accepts_no_less_than_n_arguments, n, n))
|
||||
}
|
||||
|
||||
fun <R> ensureArgumentsAtMost(args: Array<out Any?>, n: Int, function: (arrayArgs: Array<Any?>) -> R): R {
|
||||
if (args.size <= n) return unwrapAndInvokeAll(args, function)
|
||||
throw WrappedIllegalArgumentException(resources.getQuantityString(R_plurals.error_method_only_accepts_no_more_than_n_arguments, n, n))
|
||||
throw WrappedIllegalArgumentException(resources.getQuantityString(org.autojs.autojs6.R.plurals.error_method_only_accepts_no_more_than_n_arguments, n, n))
|
||||
}
|
||||
|
||||
fun <R> ensureArgumentsLength(args: Array<out Any?>, n: Int, function: (arrayArgs: Array<Any?>) -> R): R {
|
||||
if (args.size == n) return unwrapAndInvokeAll(args, function)
|
||||
throw WrappedIllegalArgumentException(resources.getQuantityString(R_plurals.error_method_only_accepts_n_arguments, n, n))
|
||||
throw WrappedIllegalArgumentException(resources.getQuantityString(org.autojs.autojs6.R.plurals.error_method_only_accepts_n_arguments, n, n))
|
||||
}
|
||||
|
||||
fun <R> ensureArgumentsLengthInRange(args: Array<out Any?>, range: IntRange, function: (arrayArgs: Array<Any?>) -> R): R {
|
||||
if (args.size in range) return unwrapAndInvokeAll(args, function)
|
||||
val (min, max) = range.run { first to last }
|
||||
throw WrappedIllegalArgumentException(context.getString(R_string.error_method_only_accepts_a_number_of_arguments_in_the_range_n_to_m, min, max))
|
||||
throw WrappedIllegalArgumentException(context.getString(org.autojs.autojs6.R.string.error_method_only_accepts_a_number_of_arguments_in_the_range_n_to_m, min, max))
|
||||
}
|
||||
|
||||
fun unwrap(o: Any?): Any? = RhinoUtils.unwrap(o)
|
||||
@@ -65,7 +62,7 @@ open class FlexibleArray {
|
||||
}
|
||||
|
||||
private fun <R> invokeFirst(args: Array<out Any?>, function: (arg: Any?) -> R): R {
|
||||
return args[0].let { o -> function.invoke(if (o is Unit) UNDEFINED else o) }
|
||||
return args[0].let { o -> function.invoke(if (o is Unit) RhinoUtils.UNDEFINED else o) }
|
||||
}
|
||||
|
||||
private fun <R> unwrapAndInvokeFirst(args: Array<out Any?>, function: (arg: Any?) -> R): R {
|
||||
@@ -1,6 +1,6 @@
|
||||
package org.autojs.autojs.rhino
|
||||
|
||||
import org.autojs.autojs.extension.ScriptableExtensions.defineProp
|
||||
import org.autojs.autojs.rhino.extension.ScriptableExtensions.defineProp
|
||||
import org.autojs.autojs.util.RhinoUtils.NOT_CONSTRUCTABLE
|
||||
import org.autojs.autojs.util.RhinoUtils.callFunction
|
||||
import org.autojs.autojs.util.RhinoUtils.newBaseFunction
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
package org.autojs.autojs.extension
|
||||
package org.autojs.autojs.rhino.extension
|
||||
|
||||
import org.autojs.autojs.extension.ArrayExtensions.toNativeArray
|
||||
import org.autojs.autojs.extension.ArrayExtensions.toNativeObject
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.rhino.extension.ArrayExtensions.toNativeArray
|
||||
import org.autojs.autojs.rhino.extension.IterableExtensions.toNativeArray
|
||||
import org.autojs.autojs.rhino.extension.MapExtensions.toNativeObject
|
||||
import org.autojs.autojs.runtime.ScriptRuntime
|
||||
import org.autojs.autojs.runtime.api.augment.global.IsNullish
|
||||
import org.autojs.autojs.runtime.api.augment.global.Species
|
||||
@@ -15,7 +17,7 @@ import org.mozilla.javascript.ConsString
|
||||
import org.mozilla.javascript.Context
|
||||
import org.mozilla.javascript.NativeError
|
||||
import org.mozilla.javascript.Scriptable
|
||||
import org.mozilla.javascript.UniqueTag.NOT_FOUND
|
||||
import org.mozilla.javascript.UniqueTag
|
||||
import org.mozilla.javascript.Wrapper
|
||||
import java.math.BigInteger
|
||||
|
||||
@@ -102,27 +104,27 @@ object AnyExtensions {
|
||||
|
||||
fun Any?.isJsNullish() = IsNullish.invoke(this)
|
||||
|
||||
fun Any?.isJsArray() = this != NOT_FOUND && this is Scriptable && "Array" == this.className
|
||||
fun Any?.isJsArray() = this != UniqueTag.NOT_FOUND && this is Scriptable && "Array" == this.className
|
||||
|
||||
fun Any?.isJsBoolean() = this != NOT_FOUND && js_typeof(this) == "boolean"
|
||||
fun Any?.isJsBoolean() = this != UniqueTag.NOT_FOUND && js_typeof(this) == "boolean"
|
||||
|
||||
fun Any?.isJsNumber() = this != NOT_FOUND && js_typeof(this) == "number"
|
||||
fun Any?.isJsNumber() = this != UniqueTag.NOT_FOUND && js_typeof(this) == "number"
|
||||
|
||||
fun Any?.isJsString() = this != NOT_FOUND && js_typeof(this) == "string"
|
||||
fun Any?.isJsString() = this != UniqueTag.NOT_FOUND && js_typeof(this) == "string"
|
||||
|
||||
fun Any?.isJsSymbol() = this != NOT_FOUND && js_typeof(this) == "symbol"
|
||||
fun Any?.isJsSymbol() = this != UniqueTag.NOT_FOUND && js_typeof(this) == "symbol"
|
||||
|
||||
fun Any?.isJsUndefined() = this == NOT_FOUND || js_typeof(this) == "undefined"
|
||||
fun Any?.isJsUndefined() = this == UniqueTag.NOT_FOUND || js_typeof(this) == "undefined"
|
||||
|
||||
fun Any?.isJsObject() = this != NOT_FOUND && js_typeof(this) == "object" && this != null
|
||||
fun Any?.isJsObject() = this != UniqueTag.NOT_FOUND && js_typeof(this) == "object" && this != null
|
||||
|
||||
fun Any?.isJsNonNullObject() = this != null && this.isJsObject()
|
||||
|
||||
fun Any?.isJsBigInt() = this != NOT_FOUND && js_typeof(this) == "bigint"
|
||||
fun Any?.isJsBigInt() = this != UniqueTag.NOT_FOUND && js_typeof(this) == "bigint"
|
||||
|
||||
fun Any?.isJsFunction() = this != NOT_FOUND && js_typeof(this) == "function"
|
||||
fun Any?.isJsFunction() = this != UniqueTag.NOT_FOUND && js_typeof(this) == "function"
|
||||
|
||||
fun Any?.isJsXml() = this != NOT_FOUND && js_typeof(this) == "xml"
|
||||
fun Any?.isJsXml() = this != UniqueTag.NOT_FOUND && js_typeof(this) == "xml"
|
||||
|
||||
fun Any?.isJsRegExp() = this.isJsObject() && Species.isRegExpRhino(this)
|
||||
|
||||
@@ -139,4 +141,4 @@ object AnyExtensions {
|
||||
return scriptRuntime.files.nonNullPath(coerceString(this, "."))
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
package org.autojs.autojs.rhino.extension
|
||||
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.jsBrief
|
||||
import org.autojs.autojs.util.RhinoUtils.withRhinoContext
|
||||
import org.mozilla.javascript.Context
|
||||
import org.mozilla.javascript.NativeArray
|
||||
|
||||
object ArrayExtensions {
|
||||
|
||||
fun Array<*>.toNativeArray(): NativeArray {
|
||||
return withRhinoContext { cx ->
|
||||
val standardObjects = cx.initStandardObjects()
|
||||
cx.newArray(standardObjects, this.toList().map { Context.javaToJS(it, standardObjects) }.toTypedArray()) as NativeArray
|
||||
}
|
||||
}
|
||||
|
||||
fun <T> Array<T>.jsArrayBrief(separator: String = ", ", appendPaddingSpace: Boolean = true) = when (appendPaddingSpace) {
|
||||
true -> "[ ${this.joinToString(separator) { it.jsBrief() }} ]"
|
||||
else -> "[${this.joinToString(separator) { it.jsBrief() }}]"
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
package org.autojs.autojs.rhino.extension
|
||||
|
||||
import org.autojs.autojs.util.RhinoUtils
|
||||
import org.mozilla.javascript.Context
|
||||
import org.mozilla.javascript.NativeArray
|
||||
|
||||
object IterableExtensions {
|
||||
|
||||
fun Iterable<*>.toNativeArray(): NativeArray {
|
||||
return RhinoUtils.withRhinoContext { cx ->
|
||||
val standardObjects = cx.initStandardObjects()
|
||||
cx.newArray(standardObjects, this.map { Context.javaToJS(it, standardObjects) }.toTypedArray()) as NativeArray
|
||||
}
|
||||
}
|
||||
|
||||
// @Hint by JetBrains AI Assistant on Oct 25, 2024.
|
||||
// ! 31 is a prime number that acts as a mixer for hash code calculation.
|
||||
// ! Multiplying by the prime number 31 helps to evenly distribute the hash values
|
||||
// ! across different properties and reduce collisions.
|
||||
// ! zh-CN (translated by Jetbrains AI Assistant on Oct 25, 2024):
|
||||
// ! 31 是一个质数, 它的作用类似于混合器, 用于哈希码的计算.
|
||||
// ! 乘以质数 31 可以帮助在不同属性值上更均匀地分散哈希值, 减少碰撞.
|
||||
fun Iterable<Any?>.toHashCode(initial: Int = 0): Int = fold(initial) { acc, o ->
|
||||
31 * acc + when (o) {
|
||||
null -> 0
|
||||
is Int -> o
|
||||
is Long -> o.hashCode()
|
||||
is Float -> o.hashCode()
|
||||
is Double -> o.hashCode()
|
||||
is Byte -> o.hashCode()
|
||||
is Short -> o.hashCode()
|
||||
is CharSequence -> o.hashCode()
|
||||
is Array<*> -> o.contentHashCode()
|
||||
is ByteArray -> o.contentHashCode()
|
||||
is CharArray -> o.contentHashCode()
|
||||
is ShortArray -> o.contentHashCode()
|
||||
is IntArray -> o.contentHashCode()
|
||||
is LongArray -> o.contentHashCode()
|
||||
is FloatArray -> o.contentHashCode()
|
||||
is DoubleArray -> o.contentHashCode()
|
||||
is BooleanArray -> o.contentHashCode()
|
||||
else -> o.hashCode()
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
package org.autojs.autojs.rhino.extension
|
||||
|
||||
import org.autojs.autojs.rhino.extension.ArrayExtensions.toNativeArray
|
||||
import org.autojs.autojs.rhino.extension.IterableExtensions.toNativeArray
|
||||
import org.autojs.autojs.util.RhinoUtils.UNDEFINED
|
||||
import org.autojs.autojs.util.RhinoUtils.newNativeObject
|
||||
import org.mozilla.javascript.Context
|
||||
import org.mozilla.javascript.NativeObject
|
||||
import org.mozilla.javascript.Wrapper
|
||||
|
||||
object MapExtensions {
|
||||
|
||||
fun <K, V> Map<K, V>.toNativeObject(): NativeObject = newNativeObject().also { o ->
|
||||
forEach { entry: Map.Entry<K, V> ->
|
||||
val key = Context.toString(entry.key)
|
||||
when (val value = entry.value) {
|
||||
is String -> o.put(key, o, value)
|
||||
is Number -> o.put(key, o, Context.toNumber(value))
|
||||
is Boolean -> o.put(key, o, Context.toBoolean(value))
|
||||
is Wrapper -> o.put(key, o, value.unwrap())
|
||||
is Unit -> o.put(key, o, UNDEFINED)
|
||||
is List<*> -> o.put(key, o, value.toNativeArray())
|
||||
is Array<*> -> o.put(key, o, value.toNativeArray())
|
||||
is Map<*, *> -> o.put(key, o, value.toNativeObject())
|
||||
is Pair<*, *> -> o.put(key, o, newNativeObject().also { newObj ->
|
||||
newObj.put(Context.toString(value.first), o, value.second)
|
||||
})
|
||||
else -> o.put(key, o, Context.javaToJS(value, o))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
package org.autojs.autojs.rhino.extension
|
||||
|
||||
import org.mozilla.javascript.NativeArray
|
||||
|
||||
object NativeArrayExtensions {
|
||||
|
||||
@JvmStatic
|
||||
fun NativeArray.jsBytesToByteArray(): ByteArray {
|
||||
val size = this.size
|
||||
val bytes = ByteArray(size)
|
||||
for (i in 0 until size) {
|
||||
val number = this[i]
|
||||
if (number is Number) {
|
||||
bytes[i] = number.toByte()
|
||||
}
|
||||
}
|
||||
return bytes
|
||||
}
|
||||
|
||||
@JvmStatic
|
||||
fun NativeArray.jsBytesToString(): String {
|
||||
return String(this.jsBytesToByteArray())
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,6 +1,4 @@
|
||||
package org.autojs.autojs.extension
|
||||
|
||||
import java.math.RoundingMode
|
||||
package org.autojs.autojs.rhino.extension
|
||||
|
||||
object NumberExtensions {
|
||||
|
||||
@@ -17,13 +15,4 @@ object NumberExtensions {
|
||||
else -> this.toString()
|
||||
}
|
||||
|
||||
@JvmStatic
|
||||
@JvmOverloads
|
||||
fun Double.roundToString(scale: Int, stripTrailingZeros: Boolean = true): String {
|
||||
return toBigDecimal()
|
||||
.setScale(scale, RoundingMode.HALF_UP)
|
||||
.let { if (stripTrailingZeros) it.stripTrailingZeros() else it }
|
||||
.toPlainString()
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
package org.autojs.autojs.extension
|
||||
package org.autojs.autojs.rhino.extension
|
||||
|
||||
import org.autojs.autojs.util.RhinoUtils.undefined
|
||||
import org.autojs.autojs.util.RhinoUtils
|
||||
import org.mozilla.javascript.Scriptable
|
||||
import org.mozilla.javascript.ScriptableObject
|
||||
import org.mozilla.javascript.Wrapper
|
||||
@@ -16,7 +16,7 @@ object ScriptableExtensions {
|
||||
* Searches the prototype chain for a property named `key`.
|
||||
*
|
||||
* @param key A property name
|
||||
* @return The value of a property with name `key` found in this object or any object in its prototype chain, or [Scriptable.NOT_FOUND] if not found
|
||||
* @return The value of a property with name `key` found in this object or any object in its prototype chain, or [org.mozilla.javascript.Scriptable.NOT_FOUND] if not found
|
||||
*/
|
||||
fun Scriptable.getProp(key: String): Any? = ScriptableObject.getProperty(this, key).let {
|
||||
if (it is Wrapper) it.unwrap() else it
|
||||
@@ -53,7 +53,7 @@ object ScriptableExtensions {
|
||||
* @param value The initial value of the property
|
||||
* @param attributes The attributes of the JavaScript property
|
||||
*/
|
||||
fun Scriptable.defineProp(key: String, value: Any?, attributes: Int = ScriptableObject.EMPTY) = undefined { ScriptableObject.defineProperty(this, key, value, attributes) }
|
||||
fun Scriptable.defineProp(key: String, value: Any?, attributes: Int = ScriptableObject.EMPTY) = RhinoUtils.undefined { ScriptableObject.defineProperty(this, key, value, attributes) }
|
||||
|
||||
/**
|
||||
* Puts a named property in this object or in an object in its prototype chain.
|
||||
@@ -66,7 +66,7 @@ object ScriptableExtensions {
|
||||
* @param key A property key
|
||||
* @param value Any JavaScript value accepted by [Scriptable.put]
|
||||
*/
|
||||
fun Scriptable.putProp(key: String, value: Any?) = undefined { ScriptableObject.putProperty(this, key, value) }
|
||||
fun Scriptable.putProp(key: String, value: Any?) = RhinoUtils.undefined { ScriptableObject.putProperty(this, key, value) }
|
||||
|
||||
/**
|
||||
* Removes the property from this object or its prototype chain.
|
||||
@@ -79,4 +79,4 @@ object ScriptableExtensions {
|
||||
*/
|
||||
fun Scriptable.deleteProp(key: String): Boolean = ScriptableObject.deleteProperty(this, key)
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,9 +1,9 @@
|
||||
package org.autojs.autojs.extension
|
||||
package org.autojs.autojs.rhino.extension
|
||||
|
||||
import org.autojs.autojs.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.extension.ScriptableExtensions.prop
|
||||
import org.autojs.autojs.util.StringUtils.str
|
||||
import org.autojs.autojs6.R.string as R_string
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.rhino.extension.ScriptableExtensions.prop
|
||||
import org.autojs.autojs.util.StringUtils
|
||||
import org.autojs.autojs6.R
|
||||
import org.mozilla.javascript.ScriptableObject
|
||||
|
||||
/**
|
||||
@@ -13,13 +13,13 @@ object ScriptableObjectExtensions {
|
||||
|
||||
fun ScriptableObject.acquire(name: String): Any {
|
||||
val propValue = this.prop(name)
|
||||
require(!propValue.isJsNullish()) { str(R_string.error_required_property_is_nullish_or_does_not_exist, name) }
|
||||
require(!propValue.isJsNullish()) { StringUtils.str(R.string.error_required_property_is_nullish_or_does_not_exist, name) }
|
||||
return propValue!!
|
||||
}
|
||||
|
||||
fun <R> ScriptableObject.acquire(name: String, transformer: (o: Any) -> R): R {
|
||||
val result = transformer(acquire(name))
|
||||
require(!result.isJsNullish()) { str(R_string.error_the_transformer_for_required_property_cannot_return_nullish, name) }
|
||||
require(!result.isJsNullish()) { StringUtils.str(org.autojs.autojs6.R.string.error_the_transformer_for_required_property_cannot_return_nullish, name) }
|
||||
return result!!
|
||||
}
|
||||
|
||||
@@ -65,4 +65,4 @@ object ScriptableObjectExtensions {
|
||||
return defaultValue
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
package org.autojs.autojs.runtime
|
||||
|
||||
import android.os.SystemClock
|
||||
import org.autojs.autojs.extension.NumberExtensions.jsString
|
||||
import org.autojs.autojs.rhino.extension.NumberExtensions.jsString
|
||||
import org.autojs.autojs.runtime.api.augment.console.Console
|
||||
import java.util.concurrent.ConcurrentHashMap
|
||||
|
||||
|
||||
@@ -19,9 +19,9 @@ import org.autojs.autojs.core.image.capture.ScreenCaptureRequester
|
||||
import org.autojs.autojs.core.looper.Loopers
|
||||
import org.autojs.autojs.core.pref.Pref
|
||||
import org.autojs.autojs.engine.ScriptEngineService
|
||||
import org.autojs.autojs.extension.ScriptableExtensions.defineProp
|
||||
import org.autojs.autojs.extension.ScriptableExtensions.deleteProp
|
||||
import org.autojs.autojs.extension.ScriptableExtensions.prop
|
||||
import org.autojs.autojs.rhino.extension.ScriptableExtensions.defineProp
|
||||
import org.autojs.autojs.rhino.extension.ScriptableExtensions.deleteProp
|
||||
import org.autojs.autojs.rhino.extension.ScriptableExtensions.prop
|
||||
import org.autojs.autojs.lang.ThreadCompat
|
||||
import org.autojs.autojs.pio.PFiles
|
||||
import org.autojs.autojs.pio.UncheckedIOException
|
||||
|
||||
@@ -5,7 +5,7 @@ import org.autojs.autojs.engine.JavaScriptEngine
|
||||
import org.autojs.autojs.engine.ScriptEngine
|
||||
import org.autojs.autojs.execution.ExecutionConfig
|
||||
import org.autojs.autojs.execution.ScriptExecution
|
||||
import org.autojs.autojs.extension.ArrayExtensions.toNativeArray
|
||||
import org.autojs.autojs.rhino.extension.IterableExtensions.toNativeArray
|
||||
import org.autojs.autojs.runtime.ScriptRuntime
|
||||
import org.autojs.autojs.script.AutoFileSource
|
||||
import org.autojs.autojs.script.JavaScriptFileSource
|
||||
|
||||
@@ -34,7 +34,7 @@ import org.autojs.autojs.core.opencv.OpenCVHelper;
|
||||
import org.autojs.autojs.core.pref.Language;
|
||||
import org.autojs.autojs.core.pref.Pref;
|
||||
import org.autojs.autojs.core.ui.inflater.util.Drawables;
|
||||
import org.autojs.autojs.extension.AnyExtensions;
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions;
|
||||
import org.autojs.autojs.pio.UncheckedIOException;
|
||||
import org.autojs.autojs.runtime.ScriptRuntime;
|
||||
import org.autojs.autojs.runtime.api.ImageFeatureMatching.FeatureMatchingDescriptor;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package org.autojs.autojs.runtime.api
|
||||
|
||||
import org.autojs.autojs.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.extension.AnyExtensions.jsBrief
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.jsBrief
|
||||
import org.autojs.autojs.runtime.ScriptRuntime
|
||||
import org.autojs.autojs.util.RhinoUtils.callFunction
|
||||
import org.autojs.autojs.util.RhinoUtils.coerceLongNumber
|
||||
|
||||
@@ -5,11 +5,11 @@ import android.content.Context
|
||||
import android.database.Cursor
|
||||
import org.autojs.autojs.annotation.ScriptInterface
|
||||
import org.autojs.autojs.core.database.Database
|
||||
import org.autojs.autojs.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.extension.AnyExtensions.jsBrief
|
||||
import org.autojs.autojs.extension.AnyExtensions.jsUnwrapped
|
||||
import org.autojs.autojs.extension.ArrayExtensions.toNativeArray
|
||||
import org.autojs.autojs.extension.ArrayExtensions.toNativeObject
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.jsBrief
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.jsUnwrapped
|
||||
import org.autojs.autojs.rhino.extension.IterableExtensions.toNativeArray
|
||||
import org.autojs.autojs.rhino.extension.MapExtensions.toNativeObject
|
||||
import org.autojs.autojs.runtime.ScriptRuntime
|
||||
import org.autojs.autojs.util.RhinoUtils.coerceBoolean
|
||||
import org.autojs.autojs.util.RhinoUtils.coerceString
|
||||
|
||||
@@ -6,7 +6,7 @@ import android.view.View
|
||||
import org.autojs.autojs.core.ui.inflater.DynamicLayoutInflater
|
||||
import org.autojs.autojs.core.ui.inflater.ResourceParser
|
||||
import org.autojs.autojs.core.ui.inflater.util.Drawables
|
||||
import org.autojs.autojs.extension.AnyExtensions.jsBrief
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.jsBrief
|
||||
import org.autojs.autojs.rhino.ProxyObject
|
||||
import org.autojs.autojs.runtime.ScriptRuntime
|
||||
import org.autojs.autojs.util.RhinoUtils.newNativeObject
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package org.autojs.autojs.runtime.api
|
||||
|
||||
import org.autojs.autojs.extension.AnyExtensions.jsBrief
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.jsBrief
|
||||
|
||||
object Util {
|
||||
|
||||
|
||||
@@ -2,12 +2,12 @@ package org.autojs.autojs.runtime.api.augment
|
||||
|
||||
import android.content.Context
|
||||
import org.autojs.autojs.app.GlobalAppContext
|
||||
import org.autojs.autojs.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.extension.AnyExtensions.jsBrief
|
||||
import org.autojs.autojs.extension.FlexibleArray
|
||||
import org.autojs.autojs.extension.FlexibleArray.Companion.component1
|
||||
import org.autojs.autojs.extension.ScriptableExtensions.defineProp
|
||||
import org.autojs.autojs.extension.ScriptableExtensions.prop
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.jsBrief
|
||||
import org.autojs.autojs.rhino.ArgumentGuards
|
||||
import org.autojs.autojs.rhino.ArgumentGuards.Companion.component1
|
||||
import org.autojs.autojs.rhino.extension.ScriptableExtensions.defineProp
|
||||
import org.autojs.autojs.rhino.extension.ScriptableExtensions.prop
|
||||
import org.autojs.autojs.rhino.ProxyObject
|
||||
import org.autojs.autojs.rhino.ProxyObject.Companion.AUGMENTED_CUSTOM_TO_STRING_KEY
|
||||
import org.autojs.autojs.rhino.ProxyObject.Companion.PROXY_GETTER_KEY
|
||||
@@ -59,7 +59,7 @@ import org.mozilla.javascript.ScriptRuntime as RhinoScriptRuntime
|
||||
*
|
||||
* Created by SuperMonster003 on May 21, 2024.
|
||||
*/
|
||||
abstract class Augmentable(private val scriptRuntime: ScriptRuntime? = null) : FlexibleArray() {
|
||||
abstract class Augmentable(private val scriptRuntime: ScriptRuntime? = null) : ArgumentGuards() {
|
||||
|
||||
private var mIsOriginalKeyName = false
|
||||
|
||||
@@ -549,7 +549,7 @@ abstract class Augmentable(private val scriptRuntime: ScriptRuntime? = null) : F
|
||||
}?.call(message)
|
||||
}.getOrNull()
|
||||
|
||||
companion object : FlexibleArray() {
|
||||
companion object : ArgumentGuards() {
|
||||
|
||||
// @Caution by SuperMonster003 on Oct 5, 2025.
|
||||
// ! These constants are "bit flags", each value is a power of 2, with only one bit being 1 in binary.
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
package org.autojs.autojs.runtime.api.augment
|
||||
|
||||
import org.autojs.autojs.extension.FlexibleArray.Companion.component1
|
||||
import org.autojs.autojs.extension.FlexibleArray.Companion.component2
|
||||
import org.autojs.autojs.extension.ScriptableExtensions.defineProp
|
||||
import org.autojs.autojs.extension.ScriptableExtensions.prop
|
||||
import org.autojs.autojs.rhino.ArgumentGuards.Companion.component1
|
||||
import org.autojs.autojs.rhino.ArgumentGuards.Companion.component2
|
||||
import org.autojs.autojs.rhino.extension.ScriptableExtensions.defineProp
|
||||
import org.autojs.autojs.rhino.extension.ScriptableExtensions.prop
|
||||
import org.autojs.autojs.rhino.ProxyObject
|
||||
import org.autojs.autojs.rhino.ProxyObject.Companion.AUGMENTED_OBJECT_KEY
|
||||
import org.autojs.autojs.runtime.ScriptRuntime
|
||||
|
||||
@@ -12,15 +12,15 @@ import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.launch
|
||||
import org.autojs.autojs.annotation.RhinoFunctionBody
|
||||
import org.autojs.autojs.annotation.RhinoRuntimeFunctionInterface
|
||||
import org.autojs.autojs.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.extension.AnyExtensions.jsBrief
|
||||
import org.autojs.autojs.extension.FlexibleArray
|
||||
import org.autojs.autojs.extension.FlexibleArray.Companion.component1
|
||||
import org.autojs.autojs.extension.FlexibleArray.Companion.component2
|
||||
import org.autojs.autojs.extension.ScriptableExtensions.defineProp
|
||||
import org.autojs.autojs.extension.ScriptableExtensions.deleteProp
|
||||
import org.autojs.autojs.extension.ScriptableExtensions.prop
|
||||
import org.autojs.autojs.extension.ScriptableObjectExtensions.inquire
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.jsBrief
|
||||
import org.autojs.autojs.rhino.ArgumentGuards
|
||||
import org.autojs.autojs.rhino.ArgumentGuards.Companion.component1
|
||||
import org.autojs.autojs.rhino.ArgumentGuards.Companion.component2
|
||||
import org.autojs.autojs.rhino.extension.ScriptableExtensions.defineProp
|
||||
import org.autojs.autojs.rhino.extension.ScriptableExtensions.deleteProp
|
||||
import org.autojs.autojs.rhino.extension.ScriptableExtensions.prop
|
||||
import org.autojs.autojs.rhino.extension.ScriptableObjectExtensions.inquire
|
||||
import org.autojs.autojs.external.receiver.BaseBroadcastReceiver
|
||||
import org.autojs.autojs.ipc.LayoutInspectEventBus
|
||||
import org.autojs.autojs.runtime.ScriptRuntime
|
||||
@@ -104,7 +104,7 @@ class App(scriptRuntime: ScriptRuntime) : Augmentable(scriptRuntime) {
|
||||
::killDual.name to AS_GLOBAL,
|
||||
)
|
||||
|
||||
companion object : FlexibleArray() {
|
||||
companion object : ArgumentGuards() {
|
||||
|
||||
private const val PROTOCOL_FILE = "file://"
|
||||
|
||||
|
||||
@@ -5,14 +5,14 @@ import android.content.pm.PackageManager
|
||||
import android.provider.Settings
|
||||
import android.provider.Settings.System
|
||||
import org.autojs.autojs.annotation.RhinoRuntimeFunctionInterface
|
||||
import org.autojs.autojs.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.extension.AnyExtensions.isJsString
|
||||
import org.autojs.autojs.extension.AnyExtensions.jsBrief
|
||||
import org.autojs.autojs.extension.FlexibleArray
|
||||
import org.autojs.autojs.extension.FlexibleArray.Companion.component1
|
||||
import org.autojs.autojs.extension.FlexibleArray.Companion.component2
|
||||
import org.autojs.autojs.extension.ScriptableExtensions.defineProp
|
||||
import org.autojs.autojs.extension.ScriptableExtensions.prop
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.isJsString
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.jsBrief
|
||||
import org.autojs.autojs.rhino.ArgumentGuards
|
||||
import org.autojs.autojs.rhino.ArgumentGuards.Companion.component1
|
||||
import org.autojs.autojs.rhino.ArgumentGuards.Companion.component2
|
||||
import org.autojs.autojs.rhino.extension.ScriptableExtensions.defineProp
|
||||
import org.autojs.autojs.rhino.extension.ScriptableExtensions.prop
|
||||
import org.autojs.autojs.rhino.ProxyObject
|
||||
import org.autojs.autojs.rhino.ProxyObject.Companion.PROXY_GETTER_KEY
|
||||
import org.autojs.autojs.runtime.ScriptRuntime
|
||||
@@ -105,7 +105,7 @@ class Autojs(private val scriptRuntime: ScriptRuntime) : Augmentable(scriptRunti
|
||||
})
|
||||
}
|
||||
|
||||
companion object : FlexibleArray() {
|
||||
companion object : ArgumentGuards() {
|
||||
|
||||
@JvmStatic
|
||||
@RhinoRuntimeFunctionInterface
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package org.autojs.autojs.runtime.api.augment.autojs
|
||||
|
||||
import org.autojs.autojs.annotation.RhinoSingletonFunctionInterface
|
||||
import org.autojs.autojs.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.runtime.api.augment.Augmentable
|
||||
import org.autojs.autojs.util.RhinoUtils.coerceBoolean
|
||||
import org.autojs.autojs.util.RhinoUtils.coerceString
|
||||
|
||||
@@ -9,12 +9,13 @@ import org.autojs.autojs.core.accessibility.AccessibilityTool
|
||||
import org.autojs.autojs.core.accessibility.SimpleActionAutomator.Companion.AccessibilityEventCallback
|
||||
import org.autojs.autojs.core.automator.AccessibilityEventWrapper
|
||||
import org.autojs.autojs.core.automator.UiObject
|
||||
import org.autojs.autojs.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.extension.ArrayExtensions.toNativeArray
|
||||
import org.autojs.autojs.extension.FlexibleArray
|
||||
import org.autojs.autojs.extension.FlexibleArray.Companion.component1
|
||||
import org.autojs.autojs.extension.FlexibleArray.Companion.component2
|
||||
import org.autojs.autojs.extension.ScriptableExtensions.defineProp
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.rhino.ArgumentGuards
|
||||
import org.autojs.autojs.rhino.ArgumentGuards.Companion.component1
|
||||
import org.autojs.autojs.rhino.ArgumentGuards.Companion.component2
|
||||
import org.autojs.autojs.rhino.extension.ArrayExtensions.toNativeArray
|
||||
import org.autojs.autojs.rhino.extension.IterableExtensions.toNativeArray
|
||||
import org.autojs.autojs.rhino.extension.ScriptableExtensions.defineProp
|
||||
import org.autojs.autojs.runtime.ScriptRuntime
|
||||
import org.autojs.autojs.runtime.api.augment.Augmentable
|
||||
import org.autojs.autojs.runtime.api.augment.Invokable
|
||||
@@ -111,7 +112,7 @@ class Auto(private val scriptRuntime: ScriptRuntime) : Augmentable(scriptRuntime
|
||||
return@ensureArgumentsAtMost UNDEFINED
|
||||
}
|
||||
|
||||
companion object : FlexibleArray() {
|
||||
companion object : ArgumentGuards() {
|
||||
|
||||
val accessibilityTool by lazy { AccessibilityTool(globalContext) }
|
||||
|
||||
|
||||
@@ -11,13 +11,13 @@ import org.autojs.autojs.annotation.RhinoRuntimeFunctionInterface
|
||||
import org.autojs.autojs.core.automator.UiObject
|
||||
import org.autojs.autojs.core.automator.action.ActionTarget
|
||||
import org.autojs.autojs.core.image.ImageWrapper
|
||||
import org.autojs.autojs.extension.AnyExtensions.isJsArray
|
||||
import org.autojs.autojs.extension.AnyExtensions.isJsFunction
|
||||
import org.autojs.autojs.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.extension.AnyExtensions.isJsNumber
|
||||
import org.autojs.autojs.extension.FlexibleArray
|
||||
import org.autojs.autojs.extension.ScriptableExtensions.prop
|
||||
import org.autojs.autojs.extension.ScriptableObjectExtensions.inquire
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.isJsArray
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.isJsFunction
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.isJsNumber
|
||||
import org.autojs.autojs.rhino.ArgumentGuards
|
||||
import org.autojs.autojs.rhino.extension.ScriptableExtensions.prop
|
||||
import org.autojs.autojs.rhino.extension.ScriptableObjectExtensions.inquire
|
||||
import org.autojs.autojs.runtime.ScriptRuntime
|
||||
import org.autojs.autojs.runtime.api.augment.Augmentable
|
||||
import org.autojs.autojs.runtime.exception.ScriptException
|
||||
@@ -76,7 +76,7 @@ class Automator(scriptRuntime: ScriptRuntime) : Augmentable(scriptRuntime) {
|
||||
::splitScreen.name to AS_GLOBAL,
|
||||
)
|
||||
|
||||
companion object : FlexibleArray() {
|
||||
companion object : ArgumentGuards() {
|
||||
|
||||
/**
|
||||
* TypeScript Declarations:
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package org.autojs.autojs.runtime.api.augment.automator
|
||||
|
||||
import org.autojs.autojs.extension.ScriptableExtensions.prop
|
||||
import org.autojs.autojs.rhino.extension.ScriptableExtensions.prop
|
||||
import org.autojs.autojs.runtime.ScriptRuntime
|
||||
import org.autojs.autojs.util.RhinoUtils
|
||||
import org.autojs.autojs.util.RhinoUtils.withRhinoContext
|
||||
|
||||
@@ -2,10 +2,10 @@ package org.autojs.autojs.runtime.api.augment.barcode
|
||||
|
||||
import org.autojs.autojs.annotation.RhinoRuntimeFunctionInterface
|
||||
import org.autojs.autojs.core.image.ImageWrapper
|
||||
import org.autojs.autojs.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.extension.AnyExtensions.jsBrief
|
||||
import org.autojs.autojs.extension.ScriptableExtensions.prop
|
||||
import org.autojs.autojs.extension.ScriptableObjectExtensions.inquire
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.jsBrief
|
||||
import org.autojs.autojs.rhino.extension.ScriptableExtensions.prop
|
||||
import org.autojs.autojs.rhino.extension.ScriptableObjectExtensions.inquire
|
||||
import org.autojs.autojs.runtime.ScriptRuntime
|
||||
import org.autojs.autojs.runtime.api.WrappedBarcode
|
||||
import org.autojs.autojs.runtime.api.augment.Augmentable
|
||||
|
||||
@@ -2,7 +2,7 @@ package org.autojs.autojs.runtime.api.augment.barcode
|
||||
|
||||
import org.autojs.autojs.annotation.RhinoRuntimeFunctionInterface
|
||||
import org.autojs.autojs.core.image.ImageWrapper
|
||||
import org.autojs.autojs.extension.ScriptableObjectExtensions.inquire
|
||||
import org.autojs.autojs.rhino.extension.ScriptableObjectExtensions.inquire
|
||||
import org.autojs.autojs.runtime.ScriptRuntime
|
||||
import org.autojs.autojs.runtime.api.WrappedBarcode
|
||||
import org.autojs.autojs.runtime.api.augment.Augmentable
|
||||
|
||||
@@ -2,7 +2,8 @@ package org.autojs.autojs.runtime.api.augment.base64
|
||||
|
||||
import org.autojs.autojs.annotation.RhinoFunctionBody
|
||||
import org.autojs.autojs.annotation.RhinoSingletonFunctionInterface
|
||||
import org.autojs.autojs.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.rhino.extension.NativeArrayExtensions.jsBytesToByteArray
|
||||
import org.autojs.autojs.runtime.api.augment.Augmentable
|
||||
import org.autojs.autojs.runtime.exception.WrappedIllegalArgumentException
|
||||
import org.autojs.autojs.util.ArrayUtils
|
||||
@@ -62,7 +63,7 @@ object Base64 : Augmentable() {
|
||||
o.isJsNullish() -> throw WrappedIllegalArgumentException("Cannot convert o ($o) to byte[]")
|
||||
o is String -> o.toByteArray(encoding)
|
||||
o is ByteArray -> o
|
||||
o is NativeArray -> ArrayUtils.jsBytesToByteArray(o)
|
||||
o is NativeArray -> o.jsBytesToByteArray()
|
||||
else -> toBytes(o.toString())
|
||||
}
|
||||
|
||||
|
||||
@@ -3,9 +3,9 @@ package org.autojs.autojs.runtime.api.augment.canvas
|
||||
import android.graphics.Bitmap
|
||||
import org.autojs.autojs.core.graphics.ScriptCanvas
|
||||
import org.autojs.autojs.core.image.ImageWrapper
|
||||
import org.autojs.autojs.extension.AnyExtensions.jsBrief
|
||||
import org.autojs.autojs.extension.FlexibleArray.Companion.component1
|
||||
import org.autojs.autojs.extension.FlexibleArray.Companion.component2
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.jsBrief
|
||||
import org.autojs.autojs.rhino.ArgumentGuards.Companion.component1
|
||||
import org.autojs.autojs.rhino.ArgumentGuards.Companion.component2
|
||||
import org.autojs.autojs.runtime.ScriptRuntime
|
||||
import org.autojs.autojs.runtime.api.augment.Augmentable
|
||||
import org.autojs.autojs.runtime.api.augment.Constructable
|
||||
|
||||
@@ -3,13 +3,13 @@ package org.autojs.autojs.runtime.api.augment.colors
|
||||
import android.graphics.Color.BLACK
|
||||
import org.autojs.autojs.annotation.RhinoFunctionObjectBody
|
||||
import org.autojs.autojs.annotation.RhinoStandardFunctionInterface
|
||||
import org.autojs.autojs.extension.ArrayExtensions.unshiftWith
|
||||
import org.autojs.autojs.extension.FlexibleArray.Companion.ensureArgumentsIsEmpty
|
||||
import org.autojs.autojs.extension.FlexibleArray.Companion.ensureArgumentsOnlyOne
|
||||
import org.autojs.autojs.rhino.ArgumentGuards.Companion.ensureArgumentsIsEmpty
|
||||
import org.autojs.autojs.rhino.ArgumentGuards.Companion.ensureArgumentsOnlyOne
|
||||
import org.autojs.autojs.runtime.api.StringReadable
|
||||
import org.autojs.autojs.runtime.api.augment.Augmentable
|
||||
import org.autojs.autojs.runtime.api.augment.colors.Colors.parseRelativePercentage
|
||||
import org.autojs.autojs.runtime.exception.WrappedIllegalArgumentException
|
||||
import org.autojs.autojs.util.ArrayUtils.unshiftWith
|
||||
import org.autojs.autojs.util.RhinoUtils
|
||||
import org.autojs.autojs.util.RhinoUtils.NOT_CONSTRUCTABLE
|
||||
import org.autojs.autojs.util.RhinoUtils.newBaseFunction
|
||||
|
||||
@@ -12,16 +12,16 @@ import org.autojs.autojs.annotation.RhinoFunctionBody
|
||||
import org.autojs.autojs.annotation.RhinoSingletonFunctionInterface
|
||||
import org.autojs.autojs.core.image.ColorDetector
|
||||
import org.autojs.autojs.core.image.ColorTable
|
||||
import org.autojs.autojs.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.extension.AnyExtensions.jsBrief
|
||||
import org.autojs.autojs.extension.AnyExtensions.jsSpecies
|
||||
import org.autojs.autojs.extension.ArrayExtensions.jsArrayBrief
|
||||
import org.autojs.autojs.extension.ArrayExtensions.toNativeArray
|
||||
import org.autojs.autojs.extension.ArrayExtensions.toNativeObject
|
||||
import org.autojs.autojs.extension.FlexibleArray.Companion.component1
|
||||
import org.autojs.autojs.extension.FlexibleArray.Companion.component2
|
||||
import org.autojs.autojs.extension.ScriptableExtensions.prop
|
||||
import org.autojs.autojs.extension.ScriptableObjectExtensions.inquire
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.jsBrief
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.jsSpecies
|
||||
import org.autojs.autojs.rhino.ArgumentGuards.Companion.component1
|
||||
import org.autojs.autojs.rhino.ArgumentGuards.Companion.component2
|
||||
import org.autojs.autojs.rhino.extension.ArrayExtensions.jsArrayBrief
|
||||
import org.autojs.autojs.rhino.extension.IterableExtensions.toNativeArray
|
||||
import org.autojs.autojs.rhino.extension.MapExtensions.toNativeObject
|
||||
import org.autojs.autojs.rhino.extension.ScriptableExtensions.prop
|
||||
import org.autojs.autojs.rhino.extension.ScriptableObjectExtensions.inquire
|
||||
import org.autojs.autojs.runtime.api.augment.Augmentable
|
||||
import org.autojs.autojs.runtime.api.augment.SimpleGetterProxy
|
||||
import org.autojs.autojs.runtime.api.augment.jsox.Numberx
|
||||
|
||||
@@ -7,14 +7,14 @@ import org.apache.log4j.LogManager
|
||||
import org.autojs.autojs.annotation.RhinoRuntimeFunctionInterface
|
||||
import org.autojs.autojs.core.console.ConsoleImpl
|
||||
import org.autojs.autojs.core.console.ConsoleImpl.Companion.DEFAULT_EXIT_ON_CLOSE_TIMEOUT
|
||||
import org.autojs.autojs.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.extension.AnyExtensions.jsBrief
|
||||
import org.autojs.autojs.extension.FlexibleArray
|
||||
import org.autojs.autojs.extension.FlexibleArray.Companion.component1
|
||||
import org.autojs.autojs.extension.FlexibleArray.Companion.component2
|
||||
import org.autojs.autojs.extension.ScriptableExtensions.hasProp
|
||||
import org.autojs.autojs.extension.ScriptableExtensions.prop
|
||||
import org.autojs.autojs.extension.ScriptableObjectExtensions.inquire
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.jsBrief
|
||||
import org.autojs.autojs.rhino.ArgumentGuards
|
||||
import org.autojs.autojs.rhino.ArgumentGuards.Companion.component1
|
||||
import org.autojs.autojs.rhino.ArgumentGuards.Companion.component2
|
||||
import org.autojs.autojs.rhino.extension.ScriptableExtensions.hasProp
|
||||
import org.autojs.autojs.rhino.extension.ScriptableExtensions.prop
|
||||
import org.autojs.autojs.rhino.extension.ScriptableObjectExtensions.inquire
|
||||
import org.autojs.autojs.rhino.ProxyObject
|
||||
import org.autojs.autojs.runtime.ScriptRuntime
|
||||
import org.autojs.autojs.runtime.api.augment.AugmentableProxy
|
||||
@@ -155,7 +155,7 @@ class Console(scriptRuntime: ScriptRuntime) : AugmentableProxy(scriptRuntime) {
|
||||
}.prop(NativeError.STACK_TAG)
|
||||
}
|
||||
|
||||
companion object : FlexibleArray() {
|
||||
companion object : ArgumentGuards() {
|
||||
|
||||
private const val FUNC_NAME_TRACE = "trace"
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@ package org.autojs.autojs.runtime.api.augment.continuation
|
||||
|
||||
import org.autojs.autojs.annotation.RhinoFunctionBody
|
||||
import org.autojs.autojs.annotation.RhinoRuntimeFunctionInterface
|
||||
import org.autojs.autojs.extension.FlexibleArray
|
||||
import org.autojs.autojs.rhino.ArgumentGuards
|
||||
import org.autojs.autojs.project.ScriptConfig.Companion.FEATURE_CONTINUATION
|
||||
import org.autojs.autojs.runtime.ScriptRuntime
|
||||
import org.autojs.autojs.runtime.api.augment.Augmentable
|
||||
@@ -28,7 +28,7 @@ class Continuation(private val scriptRuntime: ScriptRuntime) : Augmentable(scrip
|
||||
// ::delay.name,
|
||||
)
|
||||
|
||||
companion object : FlexibleArray() {
|
||||
companion object : ArgumentGuards() {
|
||||
|
||||
@JvmStatic
|
||||
fun isEnabled(scriptRuntime: ScriptRuntime) = scriptRuntime.engines.myEngine().hasFeature(FEATURE_CONTINUATION)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package org.autojs.autojs.runtime.api.augment.continuation
|
||||
|
||||
import org.autojs.autojs.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.extension.AnyExtensions.jsBrief
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.jsBrief
|
||||
import org.autojs.autojs.rhino.continuation.Continuation
|
||||
import org.autojs.autojs.runtime.ScriptRuntime
|
||||
import org.autojs.autojs.util.RhinoUtils.UNDEFINED
|
||||
|
||||
@@ -3,13 +3,13 @@
|
||||
package org.autojs.autojs.runtime.api.augment.converter
|
||||
|
||||
import org.autojs.autojs.annotation.RhinoSingletonFunctionInterface
|
||||
import org.autojs.autojs.extension.AnyExtensions.isJsBoolean
|
||||
import org.autojs.autojs.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.extension.AnyExtensions.isJsNumber
|
||||
import org.autojs.autojs.extension.AnyExtensions.isJsObject
|
||||
import org.autojs.autojs.extension.AnyExtensions.isJsString
|
||||
import org.autojs.autojs.extension.AnyExtensions.jsBrief
|
||||
import org.autojs.autojs.extension.ScriptableObjectExtensions.inquire
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.isJsBoolean
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.isJsNumber
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.isJsObject
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.isJsString
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.jsBrief
|
||||
import org.autojs.autojs.rhino.extension.ScriptableObjectExtensions.inquire
|
||||
import org.autojs.autojs.runtime.api.augment.Augmentable
|
||||
import org.autojs.autojs.runtime.api.augment.Invokable
|
||||
import org.autojs.autojs.runtime.api.augment.converter.core.Bytes.AUTO
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
|
||||
package org.autojs.autojs.runtime.api.augment.converter.core
|
||||
|
||||
import org.autojs.autojs.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.extension.AnyExtensions.isJsNumber
|
||||
import org.autojs.autojs.extension.AnyExtensions.jsBrief
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.isJsNumber
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.jsBrief
|
||||
import org.autojs.autojs.util.RhinoUtils.MAX_SAFE_INT_IEEE754_BD
|
||||
import org.autojs.autojs.util.RhinoUtils.MIN_SAFE_INT_IEEE754_BD
|
||||
import org.autojs.autojs.util.RhinoUtils.coerceBoolean
|
||||
|
||||
@@ -4,11 +4,11 @@ import android.provider.Settings
|
||||
import androidx.core.net.toUri
|
||||
import org.autojs.autojs.annotation.RhinoFunctionBody
|
||||
import org.autojs.autojs.annotation.RhinoRuntimeFunctionInterface
|
||||
import org.autojs.autojs.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.extension.AnyExtensions.jsBrief
|
||||
import org.autojs.autojs.extension.FlexibleArray
|
||||
import org.autojs.autojs.extension.FlexibleArray.Companion.component1
|
||||
import org.autojs.autojs.extension.FlexibleArray.Companion.component2
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.jsBrief
|
||||
import org.autojs.autojs.rhino.ArgumentGuards
|
||||
import org.autojs.autojs.rhino.ArgumentGuards.Companion.component1
|
||||
import org.autojs.autojs.rhino.ArgumentGuards.Companion.component2
|
||||
import org.autojs.autojs.runtime.ScriptRuntime
|
||||
import org.autojs.autojs.runtime.api.ScreenMetrics
|
||||
import org.autojs.autojs.runtime.api.augment.Augmentable
|
||||
@@ -61,7 +61,7 @@ class Device(scriptRuntime: ScriptRuntime) : Augmentable(scriptRuntime) {
|
||||
"density" to Supplier { ScreenMetrics.deviceScreenDensity },
|
||||
)
|
||||
|
||||
companion object : FlexibleArray() {
|
||||
companion object : ArgumentGuards() {
|
||||
|
||||
const val KEY_POINTER_LOCATION = "pointer_location"
|
||||
|
||||
|
||||
@@ -13,19 +13,19 @@ import org.autojs.autojs.core.ui.dialog.JsDialog
|
||||
import org.autojs.autojs.core.ui.dialog.JsDialogBuilder
|
||||
import org.autojs.autojs.core.ui.nativeview.NativeView
|
||||
import org.autojs.autojs.event.BackCompat.TAG_KEY_INSTALLED
|
||||
import org.autojs.autojs.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.extension.AnyExtensions.isJsString
|
||||
import org.autojs.autojs.extension.AnyExtensions.isJsXml
|
||||
import org.autojs.autojs.extension.AnyExtensions.jsBrief
|
||||
import org.autojs.autojs.extension.AnyExtensions.jsUnwrapped
|
||||
import org.autojs.autojs.extension.ArrayExtensions.toNativeArray
|
||||
import org.autojs.autojs.extension.FlexibleArray.Companion.component1
|
||||
import org.autojs.autojs.extension.FlexibleArray.Companion.component2
|
||||
import org.autojs.autojs.extension.FlexibleArray.Companion.component3
|
||||
import org.autojs.autojs.extension.FlexibleArray.Companion.component4
|
||||
import org.autojs.autojs.extension.ScriptableExtensions.defineProp
|
||||
import org.autojs.autojs.extension.ScriptableExtensions.prop
|
||||
import org.autojs.autojs.extension.ScriptableObjectExtensions.inquire
|
||||
import org.autojs.autojs.rhino.ArgumentGuards.Companion.component1
|
||||
import org.autojs.autojs.rhino.ArgumentGuards.Companion.component2
|
||||
import org.autojs.autojs.rhino.ArgumentGuards.Companion.component3
|
||||
import org.autojs.autojs.rhino.ArgumentGuards.Companion.component4
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.isJsString
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.isJsXml
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.jsBrief
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.jsUnwrapped
|
||||
import org.autojs.autojs.rhino.extension.IterableExtensions.toNativeArray
|
||||
import org.autojs.autojs.rhino.extension.ScriptableExtensions.defineProp
|
||||
import org.autojs.autojs.rhino.extension.ScriptableExtensions.prop
|
||||
import org.autojs.autojs.rhino.extension.ScriptableObjectExtensions.inquire
|
||||
import org.autojs.autojs.runtime.ScriptRuntime
|
||||
import org.autojs.autojs.runtime.api.augment.Augmentable
|
||||
import org.autojs.autojs.runtime.api.augment.colors.Colors
|
||||
@@ -67,46 +67,30 @@ class Dialogs(scriptRuntime: ScriptRuntime) : Augmentable(scriptRuntime) {
|
||||
|
||||
companion object {
|
||||
|
||||
private const val CVT_DEFAULT = 0x0001
|
||||
private const val CVT_DEFAULT_STRICT_BOOLEAN = 0x0002
|
||||
private const val CVT_COLOR_INT = 0x0003
|
||||
private enum class PropertyConverter {
|
||||
COLOR_INT, BOOLEAN,
|
||||
}
|
||||
|
||||
private val propertySetterMap = mapOf(
|
||||
"title" to CVT_DEFAULT,
|
||||
"titleColor" to CVT_COLOR_INT,
|
||||
"buttonRippleColor" to CVT_COLOR_INT,
|
||||
"icon" to CVT_DEFAULT,
|
||||
"iconRes" to CVT_DEFAULT,
|
||||
"content" to CVT_DEFAULT,
|
||||
"contentColor" to CVT_COLOR_INT,
|
||||
"contentColorRes" to CVT_DEFAULT,
|
||||
"contentLineSpacing" to CVT_DEFAULT,
|
||||
"items" to CVT_DEFAULT,
|
||||
"itemsColor" to CVT_COLOR_INT,
|
||||
"itemsColorRes" to CVT_DEFAULT,
|
||||
"titleColor" to PropertyConverter.COLOR_INT,
|
||||
"buttonRippleColor" to PropertyConverter.COLOR_INT,
|
||||
"contentColor" to PropertyConverter.COLOR_INT,
|
||||
"itemsColor" to PropertyConverter.COLOR_INT,
|
||||
"positive" to "positiveText",
|
||||
"positiveColor" to CVT_COLOR_INT,
|
||||
"positiveColorRes" to CVT_DEFAULT,
|
||||
"positiveColor" to PropertyConverter.COLOR_INT,
|
||||
"neutral" to "neutralText",
|
||||
"neutralColor" to CVT_COLOR_INT,
|
||||
"neutralColorRes" to CVT_DEFAULT,
|
||||
"neutralColor" to PropertyConverter.COLOR_INT,
|
||||
"negative" to "negativeText",
|
||||
"negativeColor" to CVT_COLOR_INT,
|
||||
"negativeColorRes" to CVT_DEFAULT,
|
||||
"linkColor" to CVT_COLOR_INT,
|
||||
"linkColorRes" to CVT_DEFAULT,
|
||||
"negativeColor" to PropertyConverter.COLOR_INT,
|
||||
"linkColor" to PropertyConverter.COLOR_INT,
|
||||
"bg" to "background",
|
||||
"background" to "backgroundColor",
|
||||
"bgColor" to "backgroundColor",
|
||||
"backgroundColor" to CVT_COLOR_INT,
|
||||
"backgroundColor" to PropertyConverter.COLOR_INT,
|
||||
"bgColorRes" to "backgroundColorRes",
|
||||
"backgroundColorRes" to CVT_DEFAULT,
|
||||
"cancelable" to CVT_DEFAULT,
|
||||
"canceledOnTouchOutside" to CVT_DEFAULT,
|
||||
"autoDismiss" to CVT_DEFAULT,
|
||||
"limitIconToDefaultSize" to CVT_DEFAULT_STRICT_BOOLEAN,
|
||||
"alwaysCallSingleChoiceCallback" to CVT_DEFAULT_STRICT_BOOLEAN,
|
||||
"alwaysCallMultiChoiceCallback" to CVT_DEFAULT_STRICT_BOOLEAN,
|
||||
"limitIconToDefaultSize" to PropertyConverter.BOOLEAN,
|
||||
"alwaysCallSingleChoiceCallback" to PropertyConverter.BOOLEAN,
|
||||
"alwaysCallMultiChoiceCallback" to PropertyConverter.BOOLEAN,
|
||||
)
|
||||
|
||||
private val presetLinkifyMasks = listOf("all", "emailAddresses", "mapAddresses", "phoneNumbers", "webUrls")
|
||||
@@ -114,23 +98,27 @@ class Dialogs(scriptRuntime: ScriptRuntime) : Augmentable(scriptRuntime) {
|
||||
private val presetAnimations = listOf("default", "activity", "dialog", "inputMethod", "toast", "translucent")
|
||||
|
||||
private val customJsPropertiesForBuild: Set<String> = setOf(
|
||||
"preset",
|
||||
"animation",
|
||||
"background",
|
||||
"checkBoxChecked",
|
||||
"checkBoxPrompt",
|
||||
"customView",
|
||||
"dimAmount",
|
||||
"inputHint",
|
||||
"inputPrefill",
|
||||
"items",
|
||||
"progress",
|
||||
"checkBoxPrompt",
|
||||
"checkBoxChecked",
|
||||
"customView",
|
||||
"stubborn",
|
||||
"theme",
|
||||
"inputSingleLine",
|
||||
"itemsSelectedIndex",
|
||||
"itemsSelectedIndices",
|
||||
"itemsSelectMode",
|
||||
"keepScreenOn",
|
||||
"linkify",
|
||||
"onBackKey",
|
||||
"onBackPressed",
|
||||
"dimAmount",
|
||||
"animation",
|
||||
"keepScreenOn",
|
||||
"inputSingleLine",
|
||||
"preset",
|
||||
"progress",
|
||||
"stubborn",
|
||||
"theme",
|
||||
"wrapInScrollView",
|
||||
)
|
||||
|
||||
@JvmStatic
|
||||
@@ -480,16 +468,13 @@ class Dialogs(scriptRuntime: ScriptRuntime) : Augmentable(scriptRuntime) {
|
||||
|
||||
private fun applyDialogProperty(builder: JsDialogBuilder, name: String, value: Any?) {
|
||||
when (val propertySetter = propertySetterMap[name]) {
|
||||
CVT_DEFAULT -> invokeJavaMethod(builder, name, arrayOf(value))
|
||||
CVT_DEFAULT_STRICT_BOOLEAN -> {
|
||||
if (value == true) {
|
||||
invokeJavaMethod(builder, name, emptyArray())
|
||||
}
|
||||
}
|
||||
CVT_COLOR_INT -> {
|
||||
PropertyConverter.COLOR_INT -> {
|
||||
val colorInt = Colors.toIntRhino(value)
|
||||
invokeJavaMethod(builder, name, arrayOf(colorInt))
|
||||
}
|
||||
PropertyConverter.BOOLEAN if coerceBoolean(value, false) -> {
|
||||
invokeJavaMethod(builder, name, emptyArray())
|
||||
}
|
||||
is String -> when (propertySetter) {
|
||||
in propertySetterMap -> {
|
||||
applyDialogProperty(builder, propertySetter, value)
|
||||
|
||||
@@ -5,12 +5,12 @@ import org.autojs.autojs.engine.JavaScriptEngine
|
||||
import org.autojs.autojs.engine.ScriptEngine
|
||||
import org.autojs.autojs.execution.ExecutionConfig
|
||||
import org.autojs.autojs.execution.ScriptExecution
|
||||
import org.autojs.autojs.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.extension.AnyExtensions.jsBrief
|
||||
import org.autojs.autojs.extension.AnyExtensions.toRuntimePath
|
||||
import org.autojs.autojs.extension.FlexibleArray
|
||||
import org.autojs.autojs.extension.ScriptableExtensions.prop
|
||||
import org.autojs.autojs.extension.ScriptableObjectExtensions.inquire
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.jsBrief
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.toRuntimePath
|
||||
import org.autojs.autojs.rhino.ArgumentGuards
|
||||
import org.autojs.autojs.rhino.extension.ScriptableExtensions.prop
|
||||
import org.autojs.autojs.rhino.extension.ScriptableObjectExtensions.inquire
|
||||
import org.autojs.autojs.runtime.ScriptRuntime
|
||||
import org.autojs.autojs.runtime.api.augment.AsEmitter
|
||||
import org.autojs.autojs.runtime.api.augment.Augmentable
|
||||
@@ -58,7 +58,7 @@ class Engines(private val scriptRuntime: ScriptRuntime) : Augmentable(scriptRunt
|
||||
}
|
||||
}
|
||||
|
||||
companion object : FlexibleArray() {
|
||||
companion object : ArgumentGuards() {
|
||||
|
||||
@JvmStatic
|
||||
fun emit(scriptRuntime: ScriptRuntime, eventName: String, vararg args: Any?) {
|
||||
|
||||
@@ -3,12 +3,12 @@ package org.autojs.autojs.runtime.api.augment.events
|
||||
import org.autojs.autojs.annotation.RhinoRuntimeFunctionInterface
|
||||
import org.autojs.autojs.core.eventloop.EventEmitter
|
||||
import org.autojs.autojs.core.looper.MainThreadProxy
|
||||
import org.autojs.autojs.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.extension.AnyExtensions.jsBrief
|
||||
import org.autojs.autojs.extension.AnyExtensions.jsSpecies
|
||||
import org.autojs.autojs.extension.FlexibleArray
|
||||
import org.autojs.autojs.extension.ScriptableExtensions.defineProp
|
||||
import org.autojs.autojs.extension.ScriptableExtensions.hasProp
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.jsBrief
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.jsSpecies
|
||||
import org.autojs.autojs.rhino.ArgumentGuards
|
||||
import org.autojs.autojs.rhino.extension.ScriptableExtensions.defineProp
|
||||
import org.autojs.autojs.rhino.extension.ScriptableExtensions.hasProp
|
||||
import org.autojs.autojs.runtime.ScriptRuntime
|
||||
import org.autojs.autojs.runtime.api.augment.Augmentable
|
||||
import org.autojs.autojs.runtime.exception.WrappedIllegalArgumentException
|
||||
@@ -31,7 +31,7 @@ class Events(scriptRuntime: ScriptRuntime) : Augmentable(scriptRuntime) {
|
||||
::__asEmitter__.name to (READONLY or DONTENUM or PERMANENT),
|
||||
)
|
||||
|
||||
companion object : FlexibleArray() {
|
||||
companion object : ArgumentGuards() {
|
||||
|
||||
@JvmStatic
|
||||
@Suppress("FunctionName")
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
package org.autojs.autojs.runtime.api.augment.files
|
||||
|
||||
import org.autojs.autojs.annotation.RhinoRuntimeFunctionInterface
|
||||
import org.autojs.autojs.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.extension.FlexibleArray
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.rhino.ArgumentGuards
|
||||
import org.autojs.autojs.pio.PFileInterface
|
||||
import org.autojs.autojs.runtime.ScriptRuntime
|
||||
import org.autojs.autojs.runtime.api.augment.Augmentable
|
||||
@@ -22,7 +22,7 @@ class Files(scriptRuntime: ScriptRuntime) : Augmentable(scriptRuntime) {
|
||||
::toFile.name,
|
||||
)
|
||||
|
||||
companion object : FlexibleArray() {
|
||||
companion object : ArgumentGuards() {
|
||||
|
||||
@JvmStatic
|
||||
@RhinoRuntimeFunctionInterface
|
||||
|
||||
@@ -5,11 +5,11 @@ import android.view.ViewGroup
|
||||
import org.autojs.autojs.annotation.RhinoRuntimeFunctionInterface
|
||||
import org.autojs.autojs.core.floaty.BaseResizableFloatyWindow
|
||||
import org.autojs.autojs.core.ui.ViewExtras
|
||||
import org.autojs.autojs.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.extension.AnyExtensions.isJsString
|
||||
import org.autojs.autojs.extension.AnyExtensions.jsBrief
|
||||
import org.autojs.autojs.extension.FlexibleArray
|
||||
import org.autojs.autojs.extension.ScriptableExtensions.defineProp
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.isJsString
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.jsBrief
|
||||
import org.autojs.autojs.rhino.ArgumentGuards
|
||||
import org.autojs.autojs.rhino.extension.ScriptableExtensions.defineProp
|
||||
import org.autojs.autojs.rhino.ProxyJavaObject
|
||||
import org.autojs.autojs.rhino.ProxyObject.Companion.PROXY_GETTER_KEY
|
||||
import org.autojs.autojs.rhino.ProxyObject.Companion.PROXY_OBJECT_KEY
|
||||
@@ -45,7 +45,7 @@ class Floaty(scriptRuntime: ScriptRuntime) : Augmentable(scriptRuntime) {
|
||||
::getClip.name,
|
||||
)
|
||||
|
||||
companion object : FlexibleArray() {
|
||||
companion object : ArgumentGuards() {
|
||||
|
||||
@JvmStatic
|
||||
@RhinoRuntimeFunctionInterface
|
||||
|
||||
@@ -3,13 +3,13 @@
|
||||
package org.autojs.autojs.runtime.api.augment.formatter
|
||||
|
||||
import org.autojs.autojs.annotation.RhinoSingletonFunctionInterface
|
||||
import org.autojs.autojs.extension.AnyExtensions.isJsBoolean
|
||||
import org.autojs.autojs.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.extension.AnyExtensions.isJsNumber
|
||||
import org.autojs.autojs.extension.AnyExtensions.isJsObject
|
||||
import org.autojs.autojs.extension.AnyExtensions.isJsString
|
||||
import org.autojs.autojs.extension.AnyExtensions.jsBrief
|
||||
import org.autojs.autojs.extension.ScriptableObjectExtensions.inquire
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.isJsBoolean
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.isJsNumber
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.isJsObject
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.isJsString
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.jsBrief
|
||||
import org.autojs.autojs.rhino.extension.ScriptableObjectExtensions.inquire
|
||||
import org.autojs.autojs.runtime.api.augment.Augmentable
|
||||
import org.autojs.autojs.runtime.api.augment.Invokable
|
||||
import org.autojs.autojs.runtime.api.augment.converter.core.Bytes.AUTO
|
||||
|
||||
@@ -5,12 +5,12 @@ import io.github.g00fy2.versioncompare.Version
|
||||
import org.autojs.autojs.annotation.RhinoFunctionBody
|
||||
import org.autojs.autojs.annotation.RhinoRuntimeFunctionInterface
|
||||
import org.autojs.autojs.core.automator.UiObject
|
||||
import org.autojs.autojs.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.extension.AnyExtensions.jsBrief
|
||||
import org.autojs.autojs.extension.NumberExtensions.jsString
|
||||
import org.autojs.autojs.extension.ScriptableExtensions.defineProp
|
||||
import org.autojs.autojs.extension.ScriptableExtensions.prop
|
||||
import org.autojs.autojs.extension.ScriptableObjectExtensions.inquire
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.jsBrief
|
||||
import org.autojs.autojs.rhino.extension.NumberExtensions.jsString
|
||||
import org.autojs.autojs.rhino.extension.ScriptableExtensions.defineProp
|
||||
import org.autojs.autojs.rhino.extension.ScriptableExtensions.prop
|
||||
import org.autojs.autojs.rhino.extension.ScriptableObjectExtensions.inquire
|
||||
import org.autojs.autojs.runtime.ScriptRuntime
|
||||
import org.autojs.autojs.runtime.api.ScreenMetrics
|
||||
import org.autojs.autojs.runtime.api.augment.Augmentable
|
||||
|
||||
@@ -10,15 +10,15 @@ import okhttp3.Response
|
||||
import org.autojs.autojs.annotation.RhinoFunctionBody
|
||||
import org.autojs.autojs.annotation.RhinoRuntimeFunctionInterface
|
||||
import org.autojs.autojs.core.http.MutableOkHttp
|
||||
import org.autojs.autojs.extension.AnyExtensions.isJsFunction
|
||||
import org.autojs.autojs.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.extension.AnyExtensions.jsBrief
|
||||
import org.autojs.autojs.extension.FlexibleArray.Companion.component1
|
||||
import org.autojs.autojs.extension.FlexibleArray.Companion.component2
|
||||
import org.autojs.autojs.extension.FlexibleArray.Companion.component3
|
||||
import org.autojs.autojs.extension.FlexibleArray.Companion.component4
|
||||
import org.autojs.autojs.extension.ScriptableExtensions.prop
|
||||
import org.autojs.autojs.extension.ScriptableObjectExtensions.inquire
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.isJsFunction
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.jsBrief
|
||||
import org.autojs.autojs.rhino.ArgumentGuards.Companion.component1
|
||||
import org.autojs.autojs.rhino.ArgumentGuards.Companion.component2
|
||||
import org.autojs.autojs.rhino.ArgumentGuards.Companion.component3
|
||||
import org.autojs.autojs.rhino.ArgumentGuards.Companion.component4
|
||||
import org.autojs.autojs.rhino.extension.ScriptableExtensions.prop
|
||||
import org.autojs.autojs.rhino.extension.ScriptableObjectExtensions.inquire
|
||||
import org.autojs.autojs.runtime.ScriptRuntime
|
||||
import org.autojs.autojs.runtime.api.Mime
|
||||
import org.autojs.autojs.runtime.api.augment.Augmentable
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package org.autojs.autojs.runtime.api.augment.http
|
||||
|
||||
import org.autojs.autojs.annotation.RhinoStandardFunctionInterface
|
||||
import org.autojs.autojs.extension.FlexibleArray.Companion.ensureArgumentsIsEmpty
|
||||
import org.autojs.autojs.rhino.ArgumentGuards.Companion.ensureArgumentsIsEmpty
|
||||
import org.autojs.autojs.runtime.api.StringReadable
|
||||
import org.autojs.autojs.runtime.api.augment.converter.core.Bytes
|
||||
import org.autojs.autojs.util.RhinoUtils
|
||||
|
||||
@@ -4,10 +4,10 @@ import android.annotation.SuppressLint
|
||||
import okhttp3.OkHttpClient
|
||||
import okhttp3.Request
|
||||
import org.autojs.autojs.core.http.MutableOkHttp
|
||||
import org.autojs.autojs.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.extension.AnyExtensions.jsBrief
|
||||
import org.autojs.autojs.extension.ScriptableExtensions.prop
|
||||
import org.autojs.autojs.extension.ScriptableObjectExtensions.inquire
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.jsBrief
|
||||
import org.autojs.autojs.rhino.extension.ScriptableExtensions.prop
|
||||
import org.autojs.autojs.rhino.extension.ScriptableObjectExtensions.inquire
|
||||
import org.autojs.autojs.runtime.ScriptRuntime
|
||||
import org.autojs.autojs.runtime.api.augment.http.Http.Companion.DEFAULT_TIMEOUT
|
||||
import org.autojs.autojs.runtime.api.augment.http.Http.Companion.KEY_CLIENT
|
||||
|
||||
@@ -9,12 +9,12 @@ import okhttp3.RequestBody
|
||||
import okhttp3.RequestBody.Companion.asRequestBody
|
||||
import okhttp3.RequestBody.Companion.toRequestBody
|
||||
import okio.BufferedSink
|
||||
import org.autojs.autojs.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.extension.AnyExtensions.isJsNumber
|
||||
import org.autojs.autojs.extension.AnyExtensions.isJsString
|
||||
import org.autojs.autojs.extension.AnyExtensions.jsBrief
|
||||
import org.autojs.autojs.extension.AnyExtensions.toRuntimePath
|
||||
import org.autojs.autojs.extension.ScriptableExtensions.prop
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.isJsNumber
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.isJsString
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.jsBrief
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.toRuntimePath
|
||||
import org.autojs.autojs.rhino.extension.ScriptableExtensions.prop
|
||||
import org.autojs.autojs.pio.PFile
|
||||
import org.autojs.autojs.pio.PFileInterface
|
||||
import org.autojs.autojs.runtime.ScriptRuntime
|
||||
|
||||
@@ -2,11 +2,11 @@ package org.autojs.autojs.runtime.api.augment.http
|
||||
|
||||
import okhttp3.ResponseBody
|
||||
import org.autojs.autojs.annotation.RhinoStandardFunctionInterface
|
||||
import org.autojs.autojs.extension.AnyExtensions.toRuntimePath
|
||||
import org.autojs.autojs.extension.FlexibleArray
|
||||
import org.autojs.autojs.extension.FlexibleArray.Companion.component1
|
||||
import org.autojs.autojs.extension.FlexibleArray.Companion.component2
|
||||
import org.autojs.autojs.extension.ScriptableExtensions.prop
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.toRuntimePath
|
||||
import org.autojs.autojs.rhino.ArgumentGuards
|
||||
import org.autojs.autojs.rhino.ArgumentGuards.Companion.component1
|
||||
import org.autojs.autojs.rhino.ArgumentGuards.Companion.component2
|
||||
import org.autojs.autojs.rhino.extension.ScriptableExtensions.prop
|
||||
import org.autojs.autojs.pio.PFile
|
||||
import org.autojs.autojs.runtime.ScriptRuntime
|
||||
import org.autojs.autojs.runtime.exception.WrappedIllegalArgumentException
|
||||
@@ -83,7 +83,7 @@ class ResponseBodyNativeObject(
|
||||
return lengthHint <= cacheThresholdBytes
|
||||
}
|
||||
|
||||
companion object : FlexibleArray() {
|
||||
companion object : ArgumentGuards() {
|
||||
|
||||
@JvmStatic
|
||||
@RhinoStandardFunctionInterface
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
package org.autojs.autojs.runtime.api.augment.http
|
||||
|
||||
import okhttp3.Response
|
||||
import org.autojs.autojs.extension.ArrayExtensions.toNativeArray
|
||||
import org.autojs.autojs.extension.ScriptableExtensions.prop
|
||||
import org.autojs.autojs.rhino.extension.IterableExtensions.toNativeArray
|
||||
import org.autojs.autojs.rhino.extension.ScriptableExtensions.prop
|
||||
import org.autojs.autojs.runtime.ScriptRuntime
|
||||
import org.autojs.autojs.util.RhinoUtils.newNativeObject
|
||||
import org.mozilla.javascript.NativeArray
|
||||
|
||||
@@ -11,25 +11,25 @@ import org.autojs.autojs.annotation.RhinoRuntimeFunctionInterface
|
||||
import org.autojs.autojs.core.image.ColorDetector
|
||||
import org.autojs.autojs.core.image.ImageWrapper
|
||||
import org.autojs.autojs.core.image.capture.ScreenCapturer
|
||||
import org.autojs.autojs.extension.AnyExtensions.isJsArray
|
||||
import org.autojs.autojs.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.extension.AnyExtensions.isJsNumber
|
||||
import org.autojs.autojs.extension.AnyExtensions.isJsString
|
||||
import org.autojs.autojs.extension.AnyExtensions.jsBrief
|
||||
import org.autojs.autojs.extension.AnyExtensions.jsSpecies
|
||||
import org.autojs.autojs.extension.ArrayExtensions.toNativeArray
|
||||
import org.autojs.autojs.extension.ArrayExtensions.toNativeObject
|
||||
import org.autojs.autojs.extension.FlexibleArray.Companion.component1
|
||||
import org.autojs.autojs.extension.FlexibleArray.Companion.component2
|
||||
import org.autojs.autojs.extension.FlexibleArray.Companion.component3
|
||||
import org.autojs.autojs.extension.FlexibleArray.Companion.component4
|
||||
import org.autojs.autojs.extension.FlexibleArray.Companion.component5
|
||||
import org.autojs.autojs.extension.FlexibleArray.Companion.component6
|
||||
import org.autojs.autojs.extension.FlexibleArray.Companion.component7
|
||||
import org.autojs.autojs.extension.ScriptableExtensions.hasProp
|
||||
import org.autojs.autojs.extension.ScriptableExtensions.prop
|
||||
import org.autojs.autojs.extension.ScriptableObjectExtensions.inquire
|
||||
import org.autojs.autojs.extension.StringExtensions.isUri
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.isJsArray
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.isJsNumber
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.isJsString
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.jsBrief
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.jsSpecies
|
||||
import org.autojs.autojs.rhino.ArgumentGuards.Companion.component1
|
||||
import org.autojs.autojs.rhino.ArgumentGuards.Companion.component2
|
||||
import org.autojs.autojs.rhino.ArgumentGuards.Companion.component3
|
||||
import org.autojs.autojs.rhino.ArgumentGuards.Companion.component4
|
||||
import org.autojs.autojs.rhino.ArgumentGuards.Companion.component5
|
||||
import org.autojs.autojs.rhino.ArgumentGuards.Companion.component6
|
||||
import org.autojs.autojs.rhino.ArgumentGuards.Companion.component7
|
||||
import org.autojs.autojs.rhino.extension.ArrayExtensions.toNativeArray
|
||||
import org.autojs.autojs.rhino.extension.MapExtensions.toNativeObject
|
||||
import org.autojs.autojs.rhino.extension.ScriptableExtensions.hasProp
|
||||
import org.autojs.autojs.rhino.extension.ScriptableExtensions.prop
|
||||
import org.autojs.autojs.rhino.extension.ScriptableObjectExtensions.inquire
|
||||
import org.autojs.autojs.util.StringUtils.isUri
|
||||
import org.autojs.autojs.runtime.ScriptRuntime
|
||||
import org.autojs.autojs.runtime.api.ImageFeatureMatching
|
||||
import org.autojs.autojs.runtime.api.ImageSimilarity
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package org.autojs.autojs.runtime.api.augment.images
|
||||
|
||||
import org.autojs.autojs.core.image.TemplateMatching
|
||||
import org.autojs.autojs.extension.ArrayExtensions.toNativeArray
|
||||
import org.autojs.autojs.rhino.extension.IterableExtensions.toNativeArray
|
||||
import kotlin.math.roundToInt
|
||||
|
||||
class MatchingResult(private val matchedList: List<TemplateMatching.Match>) {
|
||||
@@ -14,12 +14,12 @@ class MatchingResult(private val matchedList: List<TemplateMatching.Match>) {
|
||||
|
||||
fun first() = matchedList.firstOrNull()
|
||||
fun last() = matchedList.lastOrNull()
|
||||
fun leftmost() = findMax(Companion.comparators["left"])
|
||||
fun rightmost() = findMax(Companion.comparators["right"])
|
||||
fun topmost() = findMax(Companion.comparators["top"])
|
||||
fun bottommost() = findMax(Companion.comparators["bottom"])
|
||||
fun best() = findMax(Companion.comparators["best"])
|
||||
fun worst() = findMax(Companion.comparators["worst"])
|
||||
fun leftmost() = findMax(comparators["left"])
|
||||
fun rightmost() = findMax(comparators["right"])
|
||||
fun topmost() = findMax(comparators["top"])
|
||||
fun bottommost() = findMax(comparators["bottom"])
|
||||
fun best() = findMax(comparators["best"])
|
||||
fun worst() = findMax(comparators["worst"])
|
||||
|
||||
fun findMax(comparator: Comparator<TemplateMatching.Match>?): TemplateMatching.Match? {
|
||||
return comparator?.let { matchedList.maxWithOrNull(it) }
|
||||
@@ -33,7 +33,7 @@ class MatchingResult(private val matchedList: List<TemplateMatching.Match>) {
|
||||
var comparator: ((TemplateMatching.Match, TemplateMatching.Match) -> Int)? = null
|
||||
|
||||
direction.split("-").forEach { s ->
|
||||
val tmpComparator = Companion.comparators[s] ?: throw Exception("Unknown direction '$s' in '$direction'")
|
||||
val tmpComparator = comparators[s] ?: throw Exception("Unknown direction '$s' in '$direction'")
|
||||
comparator = when (comparator) {
|
||||
null -> tmpComparator
|
||||
else -> { l, r ->
|
||||
|
||||
@@ -3,13 +3,15 @@ package org.autojs.autojs.runtime.api.augment.jsox
|
||||
import org.autojs.autojs.annotation.RhinoFunctionBody
|
||||
import org.autojs.autojs.annotation.RhinoRuntimeFunctionInterface
|
||||
import org.autojs.autojs.annotation.RhinoRuntimeFunctionWithThisObjInterface
|
||||
import org.autojs.autojs.extension.AnyExtensions.jsBrief
|
||||
import org.autojs.autojs.extension.ArrayExtensions.toNativeArray
|
||||
import org.autojs.autojs.extension.ArrayExtensions.unshiftWith
|
||||
import org.autojs.autojs.extension.FlexibleArray
|
||||
import org.autojs.autojs.rhino.ArgumentGuards
|
||||
import org.autojs.autojs.rhino.ArgumentGuards.Companion.component1
|
||||
import org.autojs.autojs.rhino.ArgumentGuards.Companion.component2
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.jsBrief
|
||||
import org.autojs.autojs.rhino.extension.IterableExtensions.toNativeArray
|
||||
import org.autojs.autojs.runtime.ScriptRuntime
|
||||
import org.autojs.autojs.runtime.api.augment.Augmentable
|
||||
import org.autojs.autojs.runtime.api.augment.util.Util.ensureArrayTypeRhino
|
||||
import org.autojs.autojs.util.ArrayUtils.unshiftWith
|
||||
import org.autojs.autojs.util.RhinoUtils.coerceArray
|
||||
import org.autojs.autojs.util.RhinoUtils.coerceFunction
|
||||
import org.autojs.autojs.util.RhinoUtils.undefined
|
||||
@@ -140,7 +142,7 @@ class Arrayx(private val scriptRuntime: ScriptRuntime) : Augmentable(scriptRunti
|
||||
|
||||
}
|
||||
|
||||
companion object : FlexibleArray() {
|
||||
companion object : ArgumentGuards() {
|
||||
|
||||
@JvmStatic
|
||||
@RhinoRuntimeFunctionInterface
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package org.autojs.autojs.runtime.api.augment.jsox
|
||||
|
||||
import org.autojs.autojs.AutoJs
|
||||
import org.autojs.autojs.extension.ScriptableExtensions.prop
|
||||
import org.autojs.autojs.rhino.extension.ScriptableExtensions.prop
|
||||
import org.autojs.autojs.runtime.ScriptRuntime
|
||||
import org.autojs.autojs.runtime.api.augment.Augmentable
|
||||
import org.autojs.autojs.runtime.api.augment.Augmentable.Companion.refineAttributes
|
||||
|
||||
@@ -2,8 +2,8 @@ package org.autojs.autojs.runtime.api.augment.jsox
|
||||
|
||||
import org.autojs.autojs.annotation.RhinoFunctionBody
|
||||
import org.autojs.autojs.annotation.RhinoRuntimeFunctionInterface
|
||||
import org.autojs.autojs.extension.AnyExtensions.jsSpecies
|
||||
import org.autojs.autojs.extension.FlexibleArray
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.jsSpecies
|
||||
import org.autojs.autojs.rhino.ArgumentGuards
|
||||
import org.autojs.autojs.runtime.ScriptRuntime
|
||||
import org.autojs.autojs.runtime.api.augment.Augmentable
|
||||
import org.autojs.autojs.runtime.api.augment.Invokable
|
||||
@@ -26,7 +26,7 @@ class Jsox(private val scriptRuntime: ScriptRuntime) : Augmentable(scriptRuntime
|
||||
|
||||
override fun invoke(vararg args: Any?): Undefined = extendRhinoWithRuntime(scriptRuntime, *args)
|
||||
|
||||
companion object : FlexibleArray() {
|
||||
companion object : ArgumentGuards() {
|
||||
|
||||
private val presetModules = listOf("Mathx", "Numberx", "Arrayx")
|
||||
|
||||
|
||||
@@ -2,10 +2,10 @@ package org.autojs.autojs.runtime.api.augment.jsox
|
||||
|
||||
import org.autojs.autojs.annotation.RhinoFunctionBody
|
||||
import org.autojs.autojs.annotation.RhinoSingletonFunctionInterface
|
||||
import org.autojs.autojs.extension.AnyExtensions.isJsArray
|
||||
import org.autojs.autojs.extension.AnyExtensions.jsBrief
|
||||
import org.autojs.autojs.extension.FlexibleArray
|
||||
import org.autojs.autojs.extension.ScriptableExtensions.prop
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.isJsArray
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.jsBrief
|
||||
import org.autojs.autojs.rhino.ArgumentGuards
|
||||
import org.autojs.autojs.rhino.extension.ScriptableExtensions.prop
|
||||
import org.autojs.autojs.runtime.ScriptRuntime
|
||||
import org.autojs.autojs.runtime.api.augment.Augmentable
|
||||
import org.autojs.autojs.runtime.exception.WrappedIllegalArgumentException
|
||||
@@ -65,7 +65,7 @@ class Mathx(private val scriptRuntime: ScriptRuntime) : Augmentable(), JsBuildIn
|
||||
extendBuildInObjectInternal(scriptRuntime, this, "Math")
|
||||
}
|
||||
|
||||
companion object : FlexibleArray() {
|
||||
companion object : ArgumentGuards() {
|
||||
|
||||
@Deprecated("Deprecated in Java", ReplaceWith("randomInt"))
|
||||
@JvmStatic
|
||||
|
||||
@@ -3,21 +3,24 @@ package org.autojs.autojs.runtime.api.augment.jsox
|
||||
import org.autojs.autojs.annotation.RhinoFunctionBody
|
||||
import org.autojs.autojs.annotation.RhinoRuntimeFunctionInterface
|
||||
import org.autojs.autojs.annotation.RhinoRuntimeFunctionWithThisObjInterface
|
||||
import org.autojs.autojs.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.extension.AnyExtensions.jsBrief
|
||||
import org.autojs.autojs.extension.ArrayExtensions.toNativeArray
|
||||
import org.autojs.autojs.extension.ArrayExtensions.unshiftWith
|
||||
import org.autojs.autojs.extension.FlexibleArray
|
||||
import org.autojs.autojs.extension.NumberExtensions.jsString
|
||||
import org.autojs.autojs.extension.StringExtensions.padEnd
|
||||
import org.autojs.autojs.extension.StringExtensions.padStart
|
||||
import org.autojs.autojs.extension.StringExtensions.toDoubleOrNaN
|
||||
import org.autojs.autojs.rhino.ArgumentGuards
|
||||
import org.autojs.autojs.rhino.ArgumentGuards.Companion.component1
|
||||
import org.autojs.autojs.rhino.ArgumentGuards.Companion.component2
|
||||
import org.autojs.autojs.rhino.ArgumentGuards.Companion.component3
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.jsBrief
|
||||
import org.autojs.autojs.rhino.extension.IterableExtensions.toNativeArray
|
||||
import org.autojs.autojs.rhino.extension.NumberExtensions.jsString
|
||||
import org.autojs.autojs.runtime.ScriptRuntime
|
||||
import org.autojs.autojs.runtime.api.augment.Augmentable
|
||||
import org.autojs.autojs.runtime.exception.WrappedIllegalArgumentException
|
||||
import org.autojs.autojs.runtime.exception.ShouldNeverHappenException
|
||||
import org.autojs.autojs.runtime.exception.WrappedIllegalArgumentException
|
||||
import org.autojs.autojs.util.ArrayUtils.unshiftWith
|
||||
import org.autojs.autojs.util.RhinoUtils
|
||||
import org.autojs.autojs.util.RhinoUtils.toFunctionName
|
||||
import org.autojs.autojs.util.StringUtils.padEnd
|
||||
import org.autojs.autojs.util.StringUtils.padStart
|
||||
import org.autojs.autojs.util.StringUtils.toDoubleOrNaN
|
||||
import org.mozilla.javascript.Context
|
||||
import org.mozilla.javascript.NativeArray
|
||||
import org.mozilla.javascript.Scriptable
|
||||
@@ -107,7 +110,7 @@ class Numberx(private val scriptRuntime: ScriptRuntime) : Augmentable(scriptRunt
|
||||
|
||||
}
|
||||
|
||||
companion object : FlexibleArray() {
|
||||
companion object : ArgumentGuards() {
|
||||
|
||||
const val DEFAULT_PADDING_STRING = "0"
|
||||
|
||||
|
||||
@@ -2,11 +2,11 @@ package org.autojs.autojs.runtime.api.augment.mediainfo
|
||||
|
||||
import org.autojs.autojs.annotation.RhinoFunctionBody
|
||||
import org.autojs.autojs.annotation.RhinoStandardFunctionInterface
|
||||
import org.autojs.autojs.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.extension.AnyExtensions.jsBrief
|
||||
import org.autojs.autojs.extension.FlexibleArray.Companion.ensureArgumentsIsEmpty
|
||||
import org.autojs.autojs.extension.ScriptableExtensions.defineProp
|
||||
import org.autojs.autojs.extension.ScriptableExtensions.getProp
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.jsBrief
|
||||
import org.autojs.autojs.rhino.ArgumentGuards.Companion.ensureArgumentsIsEmpty
|
||||
import org.autojs.autojs.rhino.extension.ScriptableExtensions.defineProp
|
||||
import org.autojs.autojs.rhino.extension.ScriptableExtensions.getProp
|
||||
import org.autojs.autojs.runtime.ScriptRuntime
|
||||
import org.autojs.autojs.runtime.api.StringReadable
|
||||
import org.autojs.autojs.runtime.exception.WrappedIllegalArgumentException
|
||||
|
||||
@@ -7,10 +7,10 @@ import android.app.NotificationManager
|
||||
import android.os.Build
|
||||
import org.autojs.autojs.annotation.RhinoFunctionBody
|
||||
import org.autojs.autojs.annotation.RhinoRuntimeFunctionInterface
|
||||
import org.autojs.autojs.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.extension.AnyExtensions.jsBrief
|
||||
import org.autojs.autojs.extension.ArrayExtensions.toNativeArray
|
||||
import org.autojs.autojs.extension.ScriptableExtensions.prop
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.jsBrief
|
||||
import org.autojs.autojs.rhino.extension.IterableExtensions.toNativeArray
|
||||
import org.autojs.autojs.rhino.extension.ScriptableExtensions.prop
|
||||
import org.autojs.autojs.runtime.ScriptRuntime
|
||||
import org.autojs.autojs.runtime.api.augment.Augmentable
|
||||
import org.autojs.autojs.runtime.api.augment.console.Console
|
||||
|
||||
@@ -6,10 +6,10 @@ import androidx.core.app.NotificationCompat.BigTextStyle
|
||||
import androidx.core.app.NotificationCompat.Builder
|
||||
import androidx.core.app.NotificationManagerCompat
|
||||
import org.autojs.autojs.annotation.RhinoRuntimeFunctionInterface
|
||||
import org.autojs.autojs.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.extension.AnyExtensions.jsBrief
|
||||
import org.autojs.autojs.extension.ScriptableExtensions.prop
|
||||
import org.autojs.autojs.extension.ScriptableExtensions.defineProp
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.jsBrief
|
||||
import org.autojs.autojs.rhino.extension.ScriptableExtensions.prop
|
||||
import org.autojs.autojs.rhino.extension.ScriptableExtensions.defineProp
|
||||
import org.autojs.autojs.runtime.ScriptRuntime
|
||||
import org.autojs.autojs.runtime.api.AppUtils
|
||||
import org.autojs.autojs.runtime.api.augment.Augmentable
|
||||
|
||||
@@ -2,17 +2,17 @@ package org.autojs.autojs.runtime.api.augment.ocr
|
||||
|
||||
import org.autojs.autojs.annotation.RhinoRuntimeFunctionInterface
|
||||
import org.autojs.autojs.core.image.ImageWrapper
|
||||
import org.autojs.autojs.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.extension.AnyExtensions.isJsString
|
||||
import org.autojs.autojs.extension.AnyExtensions.jsBrief
|
||||
import org.autojs.autojs.extension.AnyExtensions.jsSpecies
|
||||
import org.autojs.autojs.extension.ArrayExtensions.toNativeArray
|
||||
import org.autojs.autojs.extension.FlexibleArray.Companion.component1
|
||||
import org.autojs.autojs.extension.FlexibleArray.Companion.component2
|
||||
import org.autojs.autojs.extension.FlexibleArray.Companion.component3
|
||||
import org.autojs.autojs.extension.ScriptableExtensions.defineProp
|
||||
import org.autojs.autojs.extension.ScriptableExtensions.prop
|
||||
import org.autojs.autojs.extension.ScriptableObjectExtensions.inquire
|
||||
import org.autojs.autojs.rhino.ArgumentGuards.Companion.component1
|
||||
import org.autojs.autojs.rhino.ArgumentGuards.Companion.component2
|
||||
import org.autojs.autojs.rhino.ArgumentGuards.Companion.component3
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.isJsString
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.jsBrief
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.jsSpecies
|
||||
import org.autojs.autojs.rhino.extension.IterableExtensions.toNativeArray
|
||||
import org.autojs.autojs.rhino.extension.ScriptableExtensions.defineProp
|
||||
import org.autojs.autojs.rhino.extension.ScriptableExtensions.prop
|
||||
import org.autojs.autojs.rhino.extension.ScriptableObjectExtensions.inquire
|
||||
import org.autojs.autojs.runtime.ScriptRuntime
|
||||
import org.autojs.autojs.runtime.api.OcrResult
|
||||
import org.autojs.autojs.runtime.api.augment.Augmentable
|
||||
|
||||
@@ -6,7 +6,7 @@ import org.autojs.autojs.annotation.RhinoRuntimeFunctionInterface
|
||||
import org.autojs.autojs.apkbuilder.ApkBuilder
|
||||
import org.autojs.autojs.core.image.ImageWrapper
|
||||
import org.autojs.autojs.core.plugin.ocr.PaddleOcrPluginHost
|
||||
import org.autojs.autojs.extension.ScriptableObjectExtensions.inquire
|
||||
import org.autojs.autojs.rhino.extension.ScriptableObjectExtensions.inquire
|
||||
import org.autojs.autojs.runtime.ScriptRuntime
|
||||
import org.autojs.autojs.runtime.api.OcrResult
|
||||
import org.autojs.autojs.runtime.api.augment.Augmentable
|
||||
|
||||
@@ -4,7 +4,7 @@ import com.zqc.opencc.android.lib.ChineseConverter
|
||||
import com.zqc.opencc.android.lib.ConversionType
|
||||
import org.autojs.autojs.annotation.RhinoFunctionBody
|
||||
import org.autojs.autojs.annotation.RhinoSingletonFunctionInterface
|
||||
import org.autojs.autojs.extension.AnyExtensions.jsBrief
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.jsBrief
|
||||
import org.autojs.autojs.runtime.api.augment.Augmentable
|
||||
import org.autojs.autojs.runtime.api.augment.Invokable
|
||||
import org.autojs.autojs.runtime.exception.WrappedIllegalArgumentException
|
||||
|
||||
@@ -4,9 +4,12 @@ import com.huaban.analysis.jieba.CharsDictionaryDatabase
|
||||
import com.huaban.analysis.jieba.JiebaSegmenter
|
||||
import com.huaban.analysis.jieba.PhrasesDictionaryDatabase
|
||||
import org.autojs.autojs.annotation.RhinoSingletonFunctionInterface
|
||||
import org.autojs.autojs.extension.ArrayExtensions.toNativeArray
|
||||
import org.autojs.autojs.extension.ScriptableExtensions.defineProp
|
||||
import org.autojs.autojs.extension.ScriptableObjectExtensions.inquire
|
||||
import org.autojs.autojs.rhino.ArgumentGuards.Companion.component1
|
||||
import org.autojs.autojs.rhino.ArgumentGuards.Companion.component2
|
||||
import org.autojs.autojs.rhino.ArgumentGuards.Companion.component3
|
||||
import org.autojs.autojs.rhino.extension.IterableExtensions.toNativeArray
|
||||
import org.autojs.autojs.rhino.extension.ScriptableExtensions.defineProp
|
||||
import org.autojs.autojs.rhino.extension.ScriptableObjectExtensions.inquire
|
||||
import org.autojs.autojs.runtime.api.augment.Augmentable
|
||||
import org.autojs.autojs.runtime.api.augment.Invokable
|
||||
import org.autojs.autojs.runtime.api.augment.pinyin.PinyinCore.DefaultOptions
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
package org.autojs.autojs.runtime.api.augment.pinyin
|
||||
|
||||
import org.autojs.autojs.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.extension.AnyExtensions.jsUnwrapped
|
||||
import org.autojs.autojs.extension.ScriptableObjectExtensions.inquire
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.jsUnwrapped
|
||||
import org.autojs.autojs.rhino.extension.ScriptableObjectExtensions.inquire
|
||||
import org.autojs.autojs.util.RhinoUtils.coerceBoolean
|
||||
import org.autojs.autojs.util.RhinoUtils.coerceString
|
||||
import org.autojs.autojs.util.RhinoUtils.newNativeObject
|
||||
|
||||
@@ -14,7 +14,7 @@ import net.sourceforge.pinyin4j.format.HanyuPinyinVCharType.WITH_U_AND_COLON
|
||||
import net.sourceforge.pinyin4j.format.HanyuPinyinVCharType.WITH_U_UNICODE
|
||||
import net.sourceforge.pinyin4j.format.HanyuPinyinVCharType.WITH_V
|
||||
import org.autojs.autojs.annotation.RhinoSingletonFunctionInterface
|
||||
import org.autojs.autojs.extension.ScriptableObjectExtensions.inquire
|
||||
import org.autojs.autojs.rhino.extension.ScriptableObjectExtensions.inquire
|
||||
import org.autojs.autojs.runtime.api.augment.Augmentable
|
||||
import org.autojs.autojs.runtime.api.augment.Invokable
|
||||
import org.autojs.autojs.util.RhinoUtils.coerceString
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package org.autojs.autojs.runtime.api.augment.plugins
|
||||
|
||||
import org.autojs.autojs.annotation.RhinoRuntimeFunctionInterface
|
||||
import org.autojs.autojs.extension.FlexibleArray
|
||||
import org.autojs.autojs.rhino.ArgumentGuards
|
||||
import org.autojs.autojs.runtime.ScriptRuntime
|
||||
import org.autojs.autojs.runtime.api.augment.Augmentable
|
||||
import org.autojs.autojs.runtime.api.augment.Invokable
|
||||
@@ -23,7 +23,7 @@ class Plugins(private val scriptRuntime: ScriptRuntime) : Augmentable(scriptRunt
|
||||
load(scriptRuntime, arrayOf(o))
|
||||
}
|
||||
|
||||
companion object : FlexibleArray() {
|
||||
companion object : ArgumentGuards() {
|
||||
|
||||
@JvmStatic
|
||||
@RhinoRuntimeFunctionInterface
|
||||
|
||||
@@ -4,12 +4,12 @@ package org.autojs.autojs.runtime.api.augment.s13n
|
||||
|
||||
import org.autojs.autojs.annotation.RhinoFunctionBody
|
||||
import org.autojs.autojs.annotation.RhinoSingletonFunctionInterface
|
||||
import org.autojs.autojs.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.extension.AnyExtensions.isJsObject
|
||||
import org.autojs.autojs.extension.AnyExtensions.isJsString
|
||||
import org.autojs.autojs.extension.AnyExtensions.jsBrief
|
||||
import org.autojs.autojs.extension.ScriptableExtensions.prop
|
||||
import org.autojs.autojs.extension.ScriptableObjectExtensions.inquire
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.isJsObject
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.isJsString
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.jsBrief
|
||||
import org.autojs.autojs.rhino.extension.ScriptableExtensions.prop
|
||||
import org.autojs.autojs.rhino.extension.ScriptableObjectExtensions.inquire
|
||||
import org.autojs.autojs.runtime.api.augment.Augmentable
|
||||
import org.autojs.autojs.runtime.api.augment.colors.Colors
|
||||
import org.autojs.autojs.runtime.exception.WrappedIllegalArgumentException
|
||||
|
||||
@@ -3,11 +3,11 @@ package org.autojs.autojs.runtime.api.augment.selector
|
||||
import org.autojs.autojs.annotation.RhinoRuntimeFunctionInterface
|
||||
import org.autojs.autojs.core.accessibility.UiSelector
|
||||
import org.autojs.autojs.core.automator.UiObject
|
||||
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.ScriptableExtensions.defineProp
|
||||
import org.autojs.autojs.extension.ScriptableExtensions.hasProp
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.jsUnwrapped
|
||||
import org.autojs.autojs.rhino.ArgumentGuards
|
||||
import org.autojs.autojs.rhino.extension.ScriptableExtensions.defineProp
|
||||
import org.autojs.autojs.rhino.extension.ScriptableExtensions.hasProp
|
||||
import org.autojs.autojs.runtime.ScriptRuntime
|
||||
import org.autojs.autojs.runtime.api.augment.Augmentable
|
||||
import org.autojs.autojs.runtime.api.augment.Invokable
|
||||
@@ -142,7 +142,7 @@ class Selector(private val scriptRuntime: ScriptRuntime) : Augmentable(scriptRun
|
||||
}
|
||||
|
||||
@Suppress("SameParameterValue")
|
||||
companion object : FlexibleArray() {
|
||||
companion object : ArgumentGuards() {
|
||||
|
||||
private val scopeAugmentMethodBlacklist = listOf(
|
||||
UiSelector::plus.name,
|
||||
|
||||
@@ -3,9 +3,9 @@ package org.autojs.autojs.runtime.api.augment.shell
|
||||
import android.util.Log
|
||||
import android.view.KeyEvent
|
||||
import org.autojs.autojs.annotation.RhinoRuntimeFunctionInterface
|
||||
import org.autojs.autojs.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.extension.AnyExtensions.jsBrief
|
||||
import org.autojs.autojs.extension.FlexibleArray
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.jsBrief
|
||||
import org.autojs.autojs.rhino.ArgumentGuards
|
||||
import org.autojs.autojs.runtime.ScriptRuntime
|
||||
import org.autojs.autojs.runtime.api.AbstractShell
|
||||
import org.autojs.autojs.runtime.api.augment.Augmentable
|
||||
@@ -58,7 +58,7 @@ class Shell(private val scriptRuntime: ScriptRuntime) : Augmentable(scriptRuntim
|
||||
|
||||
override fun invoke(vararg args: Any?): AbstractShell.Result = execCommand(scriptRuntime, args)
|
||||
|
||||
companion object : FlexibleArray() {
|
||||
companion object : ArgumentGuards() {
|
||||
|
||||
private val TAG = Shell::class.java.simpleName
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package org.autojs.autojs.runtime.api.augment.shizuku
|
||||
|
||||
import org.autojs.autojs.annotation.RhinoRuntimeFunctionInterface
|
||||
import org.autojs.autojs.extension.ScriptableExtensions.defineProp
|
||||
import org.autojs.autojs.rhino.extension.ScriptableExtensions.defineProp
|
||||
import org.autojs.autojs.runtime.ScriptRuntime
|
||||
import org.autojs.autojs.runtime.api.AbstractShell
|
||||
import org.autojs.autojs.runtime.api.WrappedShizuku
|
||||
|
||||
@@ -3,11 +3,11 @@ package org.autojs.autojs.runtime.api.augment.sqlite
|
||||
import org.autojs.autojs.annotation.RhinoRuntimeFunctionInterface
|
||||
import org.autojs.autojs.core.database.Database
|
||||
import org.autojs.autojs.core.database.Database.DatabaseCallback
|
||||
import org.autojs.autojs.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.extension.AnyExtensions.jsBrief
|
||||
import org.autojs.autojs.extension.AnyExtensions.jsSanitize
|
||||
import org.autojs.autojs.extension.AnyExtensions.jsTryToJava
|
||||
import org.autojs.autojs.extension.ScriptableObjectExtensions.inquire
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.jsBrief
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.jsSanitize
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.jsTryToJava
|
||||
import org.autojs.autojs.rhino.extension.ScriptableObjectExtensions.inquire
|
||||
import org.autojs.autojs.runtime.ScriptRuntime
|
||||
import org.autojs.autojs.runtime.api.SQLite.Companion.DEFAULT_READ_ONLY
|
||||
import org.autojs.autojs.runtime.api.SQLite.Companion.DEFAULT_VERSION
|
||||
|
||||
@@ -2,9 +2,9 @@ package org.autojs.autojs.runtime.api.augment.storages
|
||||
|
||||
import org.autojs.autojs.annotation.RhinoStandardFunctionInterface
|
||||
import org.autojs.autojs.core.storage.LocalStorage
|
||||
import org.autojs.autojs.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.extension.AnyExtensions.jsBrief
|
||||
import org.autojs.autojs.extension.FlexibleArray
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.jsBrief
|
||||
import org.autojs.autojs.rhino.ArgumentGuards
|
||||
import org.autojs.autojs.runtime.api.StringReadable
|
||||
import org.autojs.autojs.util.RhinoUtils
|
||||
import org.autojs.autojs.util.RhinoUtils.UNDEFINED
|
||||
@@ -45,7 +45,7 @@ class StorageNativeObject(@JvmField val name: String) : NativeObject(), StringRe
|
||||
override fun toStringReadable() = "Storage { name: $name, size: ${storage.size()} }"
|
||||
|
||||
@Suppress("UNUSED_PARAMETER")
|
||||
internal object Getter : FlexibleArray() {
|
||||
internal object Getter : ArgumentGuards() {
|
||||
|
||||
private val className = StorageNativeObject::class.java.simpleName
|
||||
|
||||
|
||||
@@ -4,8 +4,8 @@ import android.content.Context.MODE_PRIVATE
|
||||
import org.autojs.autojs.annotation.RhinoFunctionBody
|
||||
import org.autojs.autojs.annotation.RhinoSingletonFunctionInterface
|
||||
import org.autojs.autojs.core.storage.LocalStorage
|
||||
import org.autojs.autojs.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.extension.ArrayExtensions.toNativeArray
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.rhino.extension.IterableExtensions.toNativeArray
|
||||
import org.autojs.autojs.runtime.api.augment.Augmentable
|
||||
import org.autojs.autojs.runtime.exception.WrappedIllegalArgumentException
|
||||
import org.mozilla.javascript.Context
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
package org.autojs.autojs.runtime.api.augment.sysprops
|
||||
|
||||
import org.autojs.autojs.annotation.RhinoRuntimeFunctionInterface
|
||||
import org.autojs.autojs.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.extension.ArrayExtensions.toNativeObject
|
||||
import org.autojs.autojs.extension.ScriptableExtensions.prop
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.rhino.extension.MapExtensions.toNativeObject
|
||||
import org.autojs.autojs.rhino.extension.ScriptableExtensions.prop
|
||||
import org.autojs.autojs.runtime.ScriptRuntime
|
||||
import org.autojs.autojs.runtime.api.augment.Augmentable
|
||||
import org.autojs.autojs.runtime.api.augment.Invokable
|
||||
|
||||
@@ -3,15 +3,15 @@ package org.autojs.autojs.runtime.api.augment.tasks
|
||||
import org.autojs.autojs.annotation.RhinoFunctionBody
|
||||
import org.autojs.autojs.annotation.RhinoRuntimeFunctionInterface
|
||||
import org.autojs.autojs.execution.ExecutionConfig
|
||||
import org.autojs.autojs.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.extension.AnyExtensions.jsBrief
|
||||
import org.autojs.autojs.extension.AnyExtensions.toRuntimePath
|
||||
import org.autojs.autojs.extension.ArrayExtensions.toNativeArray
|
||||
import org.autojs.autojs.extension.FlexibleArray
|
||||
import org.autojs.autojs.extension.ScriptableExtensions.prop
|
||||
import org.autojs.autojs.extension.ScriptableObjectExtensions.acquire
|
||||
import org.autojs.autojs.extension.ScriptableObjectExtensions.inquire
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.jsBrief
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.toRuntimePath
|
||||
import org.autojs.autojs.rhino.ArgumentGuards
|
||||
import org.autojs.autojs.rhino.extension.ScriptableExtensions.prop
|
||||
import org.autojs.autojs.rhino.extension.ScriptableObjectExtensions.acquire
|
||||
import org.autojs.autojs.rhino.extension.ScriptableObjectExtensions.inquire
|
||||
import org.autojs.autojs.external.receiver.DynamicBroadcastReceivers
|
||||
import org.autojs.autojs.rhino.extension.IterableExtensions.toNativeArray
|
||||
import org.autojs.autojs.runtime.ScriptRuntime
|
||||
import org.autojs.autojs.runtime.api.augment.Augmentable
|
||||
import org.autojs.autojs.runtime.api.augment.threads.Threads
|
||||
@@ -61,7 +61,7 @@ class Tasks(scriptRuntime: ScriptRuntime) : Augmentable(scriptRuntime) {
|
||||
::daysToTimeFlag.name,
|
||||
)
|
||||
|
||||
companion object : FlexibleArray() {
|
||||
companion object : ArgumentGuards() {
|
||||
|
||||
private val daysOfWeekFlatList: List<String> = listOf(
|
||||
"Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday",
|
||||
|
||||
@@ -2,9 +2,9 @@ package org.autojs.autojs.runtime.api.augment.threads
|
||||
|
||||
import org.autojs.autojs.annotation.RhinoRuntimeFunctionInterface
|
||||
import org.autojs.autojs.core.looper.TimerThread
|
||||
import org.autojs.autojs.extension.AnyExtensions.jsBrief
|
||||
import org.autojs.autojs.extension.FlexibleArray
|
||||
import org.autojs.autojs.extension.ScriptableObjectExtensions.inquire
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.jsBrief
|
||||
import org.autojs.autojs.rhino.ArgumentGuards
|
||||
import org.autojs.autojs.rhino.extension.ScriptableObjectExtensions.inquire
|
||||
import org.autojs.autojs.runtime.ScriptRuntime
|
||||
import org.autojs.autojs.runtime.api.augment.Augmentable
|
||||
import org.autojs.autojs.runtime.exception.ScriptInterruptedException
|
||||
@@ -35,7 +35,7 @@ class Threads(scriptRuntime: ScriptRuntime) : Augmentable(scriptRuntime) {
|
||||
::sync.name,
|
||||
)
|
||||
|
||||
companion object : FlexibleArray() {
|
||||
companion object : ArgumentGuards() {
|
||||
|
||||
@JvmStatic
|
||||
@RhinoRuntimeFunctionInterface
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
package org.autojs.autojs.runtime.api.augment.threads
|
||||
|
||||
import org.autojs.autojs.annotation.RhinoStandardFunctionInterface
|
||||
import org.autojs.autojs.extension.FlexibleArray
|
||||
import org.autojs.autojs.extension.FlexibleArray.Companion.component1
|
||||
import org.autojs.autojs.extension.FlexibleArray.Companion.component2
|
||||
import org.autojs.autojs.extension.FlexibleArray.Companion.component3
|
||||
import org.autojs.autojs.rhino.ArgumentGuards
|
||||
import org.autojs.autojs.rhino.ArgumentGuards.Companion.component1
|
||||
import org.autojs.autojs.rhino.ArgumentGuards.Companion.component2
|
||||
import org.autojs.autojs.rhino.ArgumentGuards.Companion.component3
|
||||
import org.autojs.autojs.util.RhinoUtils
|
||||
import org.autojs.autojs.util.RhinoUtils.UNDEFINED
|
||||
import org.autojs.autojs.util.RhinoUtils.coerceLongNumber
|
||||
@@ -75,7 +75,7 @@ class VolatileDisposeNativeObject : NativeObject() {
|
||||
RuntimeException(e)
|
||||
}
|
||||
|
||||
companion object : FlexibleArray() {
|
||||
companion object : ArgumentGuards() {
|
||||
|
||||
@JvmStatic
|
||||
@RhinoStandardFunctionInterface
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package org.autojs.autojs.runtime.api.augment.timers
|
||||
|
||||
import org.autojs.autojs.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.rhino.extension.AnyExtensions.isJsNullish
|
||||
import org.autojs.autojs.runtime.ScriptRuntime
|
||||
import org.autojs.autojs.util.RhinoUtils
|
||||
import org.mozilla.javascript.BaseFunction
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user