From c2aab176181b7f88eff0015d5d6c95f709cf0787 Mon Sep 17 00:00:00 2001 From: SuperMonster003 Date: Tue, 9 Sep 2025 17:26:54 +0800 Subject: [PATCH] 6.7.0 - Alpha4 - Fine tuning --- .run/app (legacy).run.xml | 40 +++++++++ .run/app (modern).run.xml | 45 ++++++++++ .run/app.run.xml | 88 ------------------- .../autojs/core/accessibility/UiSelector.kt | 4 +- .../stardust/automator/simple_action/Able.kt | 20 ++--- .../autojs/runtime/api/augment/shell/Shell.kt | 2 +- .../ResizableExpandableFloatyWindow.kt | 2 +- .../ui/keystore/ManageKeyStoreActivity.kt | 5 +- .../ui/settings/VersionHistoryRepository.kt | 2 +- .../autojs/ui/widget/RoundCheckboxWithText.kt | 2 +- libs/imagequant/CMakeLists.txt | 5 +- libs/imagequant/build.gradle | 6 +- .../date/DatePickerDialog.java | 2 +- 13 files changed, 111 insertions(+), 112 deletions(-) create mode 100644 .run/app (legacy).run.xml create mode 100644 .run/app (modern).run.xml delete mode 100644 .run/app.run.xml diff --git a/.run/app (legacy).run.xml b/.run/app (legacy).run.xml new file mode 100644 index 00000000..c71bb11e --- /dev/null +++ b/.run/app (legacy).run.xml @@ -0,0 +1,40 @@ + + + + + \ No newline at end of file diff --git a/.run/app (modern).run.xml b/.run/app (modern).run.xml new file mode 100644 index 00000000..f6a601f0 --- /dev/null +++ b/.run/app (modern).run.xml @@ -0,0 +1,45 @@ + + + + + \ No newline at end of file diff --git a/.run/app.run.xml b/.run/app.run.xml deleted file mode 100644 index 4ec49cb2..00000000 --- a/.run/app.run.xml +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/app/src/main/java/com/stardust/autojs/core/accessibility/UiSelector.kt b/app/src/main/java/com/stardust/autojs/core/accessibility/UiSelector.kt index 254d5957..85d8b43f 100644 --- a/app/src/main/java/com/stardust/autojs/core/accessibility/UiSelector.kt +++ b/app/src/main/java/com/stardust/autojs/core/accessibility/UiSelector.kt @@ -206,9 +206,9 @@ class UiSelector : UiGlobalSelector { public override fun idStartsWith(prefix: String): UiGlobalSelector { if (!prefix.contains(":")) { addFilter(object : Filter { - override fun filter(nodeInfo: UiObject): Boolean { + override fun filter(node: UiObject): Boolean { val fullIdPrefix = mAccessibilityBridge.getInfoProvider().latestPackage + ":id/" + prefix - val id = nodeInfo.getViewIdResourceName() + val id = node.getViewIdResourceName() return id != null && id.startsWith(fullIdPrefix) } diff --git a/app/src/main/java/com/stardust/automator/simple_action/Able.kt b/app/src/main/java/com/stardust/automator/simple_action/Able.kt index 345a4523..6303ed09 100644 --- a/app/src/main/java/com/stardust/automator/simple_action/Able.kt +++ b/app/src/main/java/com/stardust/automator/simple_action/Able.kt @@ -16,28 +16,28 @@ interface Able { val ABLE_MAP = SparseArrayEntries() .entry(AccessibilityNodeInfo.ACTION_CLICK, object : Able { - override fun isAble(nodeInfo: UiObject): Boolean { - return nodeInfo.isClickable + override fun isAble(node: UiObject): Boolean { + return node.isClickable } }) .entry(AccessibilityNodeInfo.ACTION_LONG_CLICK, object : Able { - override fun isAble(nodeInfo: UiObject): Boolean { - return nodeInfo.isLongClickable + override fun isAble(node: UiObject): Boolean { + return node.isLongClickable } }) .entry(AccessibilityNodeInfo.ACTION_FOCUS, object : Able { - override fun isAble(nodeInfo: UiObject): Boolean { - return nodeInfo.isFocusable + override fun isAble(node: UiObject): Boolean { + return node.isFocusable } }) .entry(AccessibilityNodeInfo.ACTION_SCROLL_BACKWARD, object : Able { - override fun isAble(nodeInfo: UiObject): Boolean { - return nodeInfo.isScrollable + override fun isAble(node: UiObject): Boolean { + return node.isScrollable } }) .entry(AccessibilityNodeInfo.ACTION_SCROLL_FORWARD, object : Able { - override fun isAble(nodeInfo: UiObject): Boolean { - return nodeInfo.isScrollable + override fun isAble(node: UiObject): Boolean { + return node.isScrollable } }) .sparseArray() diff --git a/app/src/main/java/org/autojs/autojs/runtime/api/augment/shell/Shell.kt b/app/src/main/java/org/autojs/autojs/runtime/api/augment/shell/Shell.kt index 43cf6d89..ef63274c 100644 --- a/app/src/main/java/org/autojs/autojs/runtime/api/augment/shell/Shell.kt +++ b/app/src/main/java/org/autojs/autojs/runtime/api/augment/shell/Shell.kt @@ -400,7 +400,7 @@ class Shell(private val scriptRuntime: ScriptRuntime) : Augmentable(scriptRuntim data class CommandArgumentsData(val arguments: String = "", val withRoot: Boolean = false, val withExit: Boolean = false) - data class CommandData(val command: String, @IntRange(0, 1) val withRoot: Int = 0) + data class CommandData(val command: String, val withRoot: Int = 0) } diff --git a/app/src/main/java/org/autojs/autojs/ui/enhancedfloaty/ResizableExpandableFloatyWindow.kt b/app/src/main/java/org/autojs/autojs/ui/enhancedfloaty/ResizableExpandableFloatyWindow.kt index ffc4fc7e..2b59f3c0 100644 --- a/app/src/main/java/org/autojs/autojs/ui/enhancedfloaty/ResizableExpandableFloatyWindow.kt +++ b/app/src/main/java/org/autojs/autojs/ui/enhancedfloaty/ResizableExpandableFloatyWindow.kt @@ -47,7 +47,7 @@ open class ResizableExpandableFloatyWindow(private var floaty: ResizableExpandab val windowView = View.inflate(service, R.layout.ef_expandable_floaty_container, null).apply { isFocusableInTouchMode = true } - mViewSwitcher = windowView.findViewById(R.id.container).also { switcher -> + mViewSwitcher = windowView.findViewById(R.id.container).also { switcher -> switcher.measureAllChildren = false ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT).let { params -> switcher.addView(mCollapsedView, params) diff --git a/app/src/main/java/org/autojs/autojs/ui/keystore/ManageKeyStoreActivity.kt b/app/src/main/java/org/autojs/autojs/ui/keystore/ManageKeyStoreActivity.kt index 5f86d3c8..ec48d74d 100644 --- a/app/src/main/java/org/autojs/autojs/ui/keystore/ManageKeyStoreActivity.kt +++ b/app/src/main/java/org/autojs/autojs/ui/keystore/ManageKeyStoreActivity.kt @@ -7,7 +7,6 @@ import android.view.Menu import android.view.MenuItem import android.widget.Toast import androidx.annotation.StringRes -import androidx.core.content.ContextCompat import androidx.lifecycle.ViewModelProvider import androidx.recyclerview.widget.DefaultItemAnimator import androidx.recyclerview.widget.LinearLayoutManager @@ -38,9 +37,7 @@ class ManageKeyStoreActivity : BaseActivity() { companion object { fun startActivity(context: Context) { - Intent(context, ManageKeyStoreActivity::class.java).apply {}.also { - ContextCompat.startActivity(context, it, null) - } + context.startActivity(Intent(context, ManageKeyStoreActivity::class.java)) } } diff --git a/app/src/main/java/org/autojs/autojs/ui/settings/VersionHistoryRepository.kt b/app/src/main/java/org/autojs/autojs/ui/settings/VersionHistoryRepository.kt index cb60b8b4..7ec42ffa 100644 --- a/app/src/main/java/org/autojs/autojs/ui/settings/VersionHistoryRepository.kt +++ b/app/src/main/java/org/autojs/autojs/ui/settings/VersionHistoryRepository.kt @@ -88,7 +88,7 @@ class VersionHistoryRepository { private val regexValidMarkdownVersion = Regex("""^#\s+v[\d.]+\S*""") - enum class Category(@StringRes val labelRes: Int, val priority: Int) { + enum class Category(val labelRes: Int, val priority: Int) { HINT(R.string.changelog_label_hint, -2), FEATURE(R.string.changelog_label_feature, 3), FIX(R.string.changelog_label_fix, 2), diff --git a/app/src/main/java/org/autojs/autojs/ui/widget/RoundCheckboxWithText.kt b/app/src/main/java/org/autojs/autojs/ui/widget/RoundCheckboxWithText.kt index c9d506f8..03a0f3e2 100644 --- a/app/src/main/java/org/autojs/autojs/ui/widget/RoundCheckboxWithText.kt +++ b/app/src/main/java/org/autojs/autojs/ui/widget/RoundCheckboxWithText.kt @@ -32,7 +32,7 @@ class RoundCheckboxWithText : LinearLayout { mCheckbox = findViewById(R.id.checkbox).also { it.isChecked = isChecked } mTextView = findViewById(R.id.text).also { it.text = text } - mWrapper = findViewById(R.id.wrapper).also { + mWrapper = findViewById(R.id.wrapper).also { it.setOnClickListener { if (isEnabled) mCheckbox.toggle() } } } diff --git a/libs/imagequant/CMakeLists.txt b/libs/imagequant/CMakeLists.txt index 4439fa60..e20aef1e 100644 --- a/libs/imagequant/CMakeLists.txt +++ b/libs/imagequant/CMakeLists.txt @@ -26,7 +26,8 @@ target_include_directories(pngquant_bridge PRIVATE external/libpng) target_link_libraries(pngquant_bridge + jnigraphics # Android NDK 库,用于从本地代码访问位图像素 imagequant # libimagequant 静态库 png_static # libpng 静态库 - ${ZLIB_LIB} # zlib.so - log) # __android_log_print \ No newline at end of file + ${ZLIB_LIB} # zlib.so - libpng 使用的压缩库 + log) # Android 日志库,用于本地代码调试 \ No newline at end of file diff --git a/libs/imagequant/build.gradle b/libs/imagequant/build.gradle index 5cfc281a..dfdf821f 100644 --- a/libs/imagequant/build.gradle +++ b/libs/imagequant/build.gradle @@ -40,7 +40,11 @@ android { externalNativeBuild { cmake { cppFlags "-std=c++17" - cFlags "-ljnigraphics" + + // @Hint by SuperMonster003 on Aug 28, 2025. + // ! Moved into `target_link_libraries(pngquant_bridge ...)` in `CMakeLists.txt`. + // ! zh-CN: 移至 `CMakeLists.txt` 文件 `target_link_libraries(pngquant_bridge ...)` 代码中. + // # cFlags "-ljnigraphics" } } diff --git a/modules/material-date-time-picker/src/main/java/com/wdullaer/materialdatetimepicker/date/DatePickerDialog.java b/modules/material-date-time-picker/src/main/java/com/wdullaer/materialdatetimepicker/date/DatePickerDialog.java index ef97a974..035d37f4 100644 --- a/modules/material-date-time-picker/src/main/java/com/wdullaer/materialdatetimepicker/date/DatePickerDialog.java +++ b/modules/material-date-time-picker/src/main/java/com/wdullaer/materialdatetimepicker/date/DatePickerDialog.java @@ -56,6 +56,7 @@ import java.util.TimeZone; /** * Dialog allowing users to select a date. */ +@SuppressWarnings("unchecked") public class DatePickerDialog extends AppCompatDialogFragment implements OnClickListener, DatePickerController { @@ -321,7 +322,6 @@ public class DatePickerDialog extends AppCompatDialogFragment implements currentView = savedInstanceState.getInt(KEY_CURRENT_VIEW); listPosition = savedInstanceState.getInt(KEY_LIST_POSITION); listPositionOffset = savedInstanceState.getInt(KEY_LIST_POSITION_OFFSET); - //noinspection unchecked highlightedDays = (HashSet) savedInstanceState.getSerializable(KEY_HIGHLIGHTED_DAYS); mThemeDark = savedInstanceState.getBoolean(KEY_THEME_DARK); mThemeDarkChanged = savedInstanceState.getBoolean(KEY_THEME_DARK_CHANGED);