From 23f84d935d810398e51bc41d869092d5df84a140 Mon Sep 17 00:00:00 2001 From: SuperMonster003 Date: Sat, 28 Jun 2025 19:53:56 +0800 Subject: [PATCH] =?UTF-8?q?6.7.0=20-=20Alpha2=20-=20=E4=BF=AE=E5=A4=8D=20E?= =?UTF-8?q?rrorDialogActivity=20=E5=8F=AF=E8=83=BD=E6=97=A0=E6=B3=95?= =?UTF-8?q?=E6=AD=A3=E5=B8=B8=E5=90=AF=E5=8A=A8=E7=9A=84=E9=97=AE=E9=A2=98?= =?UTF-8?q?=20(issue=20#414,=20#340);=20=E4=BF=AE=E5=A4=8D=E9=94=99?= =?UTF-8?q?=E8=AF=AF=E6=8A=A5=E5=91=8A=E9=A1=B5=E9=9D=A2=E5=A4=8D=E5=88=B6?= =?UTF-8?q?=E8=AF=A6=E7=BB=86=E4=BF=A1=E6=81=AF=E5=8A=9F=E8=83=BD=E5=A4=B1?= =?UTF-8?q?=E6=95=88=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .changelog/lang_zh-Hans.json | 9 +- .../autojs/runtime/api/augment/ocr/Ocr.kt | 9 +- .../api/augment/util/VersionCodesList.kt | 22 ++- .../autojs/ui/error/ErrorDialogActivity.java | 2 - .../autojs/ui/error/ErrorReportActivity.kt | 117 ++++++--------- .../scripts/BaseDisplayContentActivity.kt | 43 +----- .../java/org/autojs/autojs/util/ViewUtils.kt | 63 ++++++++ .../main/res/layout/activity_error_report.xml | 135 ++++++++++++++++-- app/src/main/res/layout/fragment_drawer.xml | 2 +- app/src/main/res/values-ar/strings.xml | 2 +- app/src/main/res/values-en/strings.xml | 2 +- app/src/main/res/values-es/strings.xml | 2 +- app/src/main/res/values-fr/strings.xml | 2 +- app/src/main/res/values-ja/strings.xml | 2 +- app/src/main/res/values-ko/strings.xml | 2 +- app/src/main/res/values-ru/strings.xml | 2 +- app/src/main/res/values-zh-rHK/strings.xml | 2 +- app/src/main/res/values-zh-rTW/strings.xml | 2 +- app/src/main/res/values-zh/strings.xml | 2 +- app/src/main/res/values/strings.xml | 2 +- version.properties | 6 +- 21 files changed, 279 insertions(+), 151 deletions(-) diff --git a/.changelog/lang_zh-Hans.json b/.changelog/lang_zh-Hans.json index eeda7924..86f36165 100644 --- a/.changelog/lang_zh-Hans.json +++ b/.changelog/lang_zh-Hans.json @@ -1,7 +1,7 @@ { "$data": { "v6.7.0": { - "released_date": "2025/06/23", + "released_date": "2025/06/28", "feature": [ "zip 模块, 用于文件压缩与解压缩操作 (Ref to [Auto.js Pro](https://g.pro.autojs.org/)) (参阅 项目文档 > [Zip](https://docs.autojs6.com/#/zip))", "mediainfo 模块, 用于查看媒体文件的详细信息 (参阅 项目文档 > [媒体信息](https://docs.autojs6.com/#/mediainfo))", @@ -13,12 +13,15 @@ "images 部分相关方法出现异常时 oneShot 标记功能失效的问题 _[`issue #372`](http://issues.autojs6.com/372)_", "Android 10 UiObject#child 方法可能出现 ArrayIndexOutOfBoundsException 异常的问题 _[`issue #416`](http://issues.autojs6.com/416)_", "打包应用无法正常使用 Paddle OCR 与 Rapid OCR 功能的问题", - "版本历史页面部分系统因字体差别导致统计数据显示不完整的问题" + "版本历史页面部分系统因字体差别导致统计数据显示不完整的问题", + "ErrorDialogActivity 可能无法正常启动的问题 _[`issue #414`](http://issues.autojs6.com/414)_ _[`issue #340`](http://issues.autojs6.com/340#issuecomment-2973485826)_", + "错误报告页面复制详细信息功能失效的问题" ], "improvement": [ "http 模块相关方法支持不安全选项参数 (isInsecure/insecure), 用于忽略证书相关异常 _[`issue #417`](http://issues.autojs6.com/417)_", "android.graphics.Paint#setColor 支持正常解析 ColorInt/ColorHex/ColorName 等颜色参数", - "内置模块相关方法实参类型的异常消息增加类型摘要信息" + "内置模块相关方法实参类型的异常消息增加类型摘要信息", + "错误报告页面支持双指缩放调整字体大小并添加常用功能按钮" ], "dependency": [ "附加 Androidx Core (KTX) 版本 1.16.0", diff --git a/app/src/main/java/org/autojs/autojs/runtime/api/augment/ocr/Ocr.kt b/app/src/main/java/org/autojs/autojs/runtime/api/augment/ocr/Ocr.kt index 5c9ac3b4..c8d8bd9d 100644 --- a/app/src/main/java/org/autojs/autojs/runtime/api/augment/ocr/Ocr.kt +++ b/app/src/main/java/org/autojs/autojs/runtime/api/augment/ocr/Ocr.kt @@ -3,6 +3,7 @@ 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 @@ -14,6 +15,7 @@ import org.autojs.autojs.runtime.api.augment.Invokable import org.autojs.autojs.runtime.api.augment.images.Images import org.autojs.autojs.runtime.exception.WrappedIllegalArgumentException import org.autojs.autojs.runtime.exception.ShouldNeverHappenException +import org.autojs.autojs.util.RhinoUtils import org.autojs.autojs.util.RhinoUtils.UNDEFINED import org.autojs.autojs.util.RhinoUtils.newNativeArray import org.autojs.autojs.util.RhinoUtils.newNativeObject @@ -58,13 +60,12 @@ class Ocr(private val scriptRuntime: ScriptRuntime) : Augmentable(scriptRuntime) scriptRuntime.augmentedOcrMLKit -> OcrMode.MLKIT scriptRuntime.augmentedOcrPaddle -> OcrMode.PADDLE scriptRuntime.augmentedOcrRapid -> OcrMode.RAPID - is String -> when (mode.lowercase()) { + else -> when (RhinoUtils.coerceStringLowercase(mode, "")) { OcrMode.MLKIT.value -> OcrMode.MLKIT OcrMode.PADDLE.value -> OcrMode.PADDLE OcrMode.RAPID.value -> OcrMode.RAPID else -> null } - else -> null } ?: OcrMode.MLKIT.also { throw WrappedIllegalArgumentException("Unknown mode ${mode.jsSpecies()} for ocr.tap") } return@ensureArgumentsOnlyOne UNDEFINED } @@ -75,7 +76,7 @@ class Ocr(private val scriptRuntime: ScriptRuntime) : Augmentable(scriptRuntime) val (arg0, arg1, arg2) = argList when { - arg0 is String -> { + arg0.isJsString() -> { // @Signature // recognizeText(imgPath: string, options?: DetectOptionsMLKit | DetectOptionsPaddle): string[]; @@ -153,7 +154,7 @@ class Ocr(private val scriptRuntime: ScriptRuntime) : Augmentable(scriptRuntime) val (arg0, arg1, arg2) = argList when { - arg0 is String -> { + arg0.isJsString() -> { // @Signature // detect(imgPath: string, options?: DetectOptionsMLKit | DetectOptionsPaddle): org.autojs.autojs.runtime.api.OcrResult[]; diff --git a/app/src/main/java/org/autojs/autojs/runtime/api/augment/util/VersionCodesList.kt b/app/src/main/java/org/autojs/autojs/runtime/api/augment/util/VersionCodesList.kt index 9f4661f8..6e7038bd 100644 --- a/app/src/main/java/org/autojs/autojs/runtime/api/augment/util/VersionCodesList.kt +++ b/app/src/main/java/org/autojs/autojs/runtime/api/augment/util/VersionCodesList.kt @@ -1,12 +1,15 @@ package org.autojs.autojs.runtime.api.augment.util +import android.os.Build +import org.autojs.autojs.runtime.exception.WrappedIllegalArgumentException import org.autojs.autojs.util.RhinoUtils.newNativeObject object VersionCodesInfo { - // @UpTo Jan 2, 2025. + // @Updated by SuperMonster003 on Jun 26, 2025. + // @Reference https://en.wikipedia.org/wiki/Android_version_history private val raw = mutableMapOf( - "BAKLAVA" to listOf("Android 16", "Baklava", "16", "36", "Q2, 2025"), + "BAKLAVA" to listOf("Android 16", "Baklava", "16", "36", "Jun 10, 2025"), "VANILLA_ICE_CREAM" to listOf("Android 15", "Vanilla Ice Cream", "15", "35", "September 3, 2024"), "UPSIDE_DOWN_CAKE" to listOf("Android 14", "Upside Down Cake", "14", "34", "October 4, 2023"), "TIRAMISU" to listOf("Android 13", "Tiramisu", "13", "33", "August 15, 2022"), @@ -57,4 +60,19 @@ object VersionCodesInfo { } } + @JvmStatic + @JvmOverloads + fun briefOfVersionInt(versionInt: Int, isCompat: Boolean = false): String { + return list.find { runCatching { it.apiLevel.toInt() }.getOrNull() == versionInt }?.let { info -> + var result = "${if (isCompat) "API Lv." else "Android API Level "}${info.apiLevel}" + info.releaseName.takeIf { it.isNotBlank() }?.let { result += " ($it)" } + info.internalCodename.takeIf { it.isNotBlank() }?.let { result += " [$it]" } + result + } ?: throw WrappedIllegalArgumentException("$versionInt is an invalid or unknown version int") + } + + @JvmStatic + @JvmOverloads + fun briefOfCurrentVersionInt(isCompat: Boolean = false) = briefOfVersionInt(Build.VERSION.SDK_INT, isCompat) + } diff --git a/app/src/main/java/org/autojs/autojs/ui/error/ErrorDialogActivity.java b/app/src/main/java/org/autojs/autojs/ui/error/ErrorDialogActivity.java index 13a68b5b..a8afee22 100644 --- a/app/src/main/java/org/autojs/autojs/ui/error/ErrorDialogActivity.java +++ b/app/src/main/java/org/autojs/autojs/ui/error/ErrorDialogActivity.java @@ -2,7 +2,6 @@ package org.autojs.autojs.ui.error; import android.content.Intent; import android.os.Bundle; -import android.view.Window; import com.afollestad.materialdialogs.MaterialDialog; import org.autojs.autojs.extension.MaterialDialogExtensions; import org.autojs.autojs.ui.BaseActivity; @@ -21,7 +20,6 @@ public class ErrorDialogActivity extends BaseActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - requestWindowFeature(Window.FEATURE_NO_TITLE); // Get extras from intent Intent intent = getIntent(); diff --git a/app/src/main/java/org/autojs/autojs/ui/error/ErrorReportActivity.kt b/app/src/main/java/org/autojs/autojs/ui/error/ErrorReportActivity.kt index 15429455..e9ec7080 100644 --- a/app/src/main/java/org/autojs/autojs/ui/error/ErrorReportActivity.kt +++ b/app/src/main/java/org/autojs/autojs/ui/error/ErrorReportActivity.kt @@ -1,21 +1,16 @@ package org.autojs.autojs.ui.error import android.annotation.SuppressLint -import android.content.ClipData -import android.content.ClipboardManager -import android.content.Context import android.content.Intent -import android.os.Build import android.os.Bundle -import android.util.Log -import com.afollestad.materialdialogs.MaterialDialog -import org.autojs.autojs.app.GlobalAppContext +import org.autojs.autojs.runtime.api.augment.util.VersionCodesInfo.briefOfCurrentVersionInt import org.autojs.autojs.ui.BaseActivity +import org.autojs.autojs.ui.main.MainActivity +import org.autojs.autojs.util.ClipboardUtils import org.autojs.autojs.util.ViewUtils import org.autojs.autojs6.BuildConfig import org.autojs.autojs6.R import org.autojs.autojs6.databinding.ActivityErrorReportBinding -import java.util.* /** * Created by Stardust on Feb 2, 2017. @@ -23,88 +18,62 @@ import java.util.* */ class ErrorReportActivity : BaseActivity() { + private lateinit var errorMessage: String + + @SuppressLint("ClickableViewAccessibility") override fun onCreate(savedInstanceState: Bundle?) { - try { - super.onCreate(savedInstanceState) - ActivityErrorReportBinding.inflate(layoutInflater).also { binding -> - setContentView(binding.root) - binding.toolbar.apply { - title = getString(R.string.text_error_report) - setSupportActionBar(this) - } - supportActionBar?.setHomeButtonEnabled(false) + super.onCreate(savedInstanceState) + + val msg = buildString { + appendLine("${getString(R.string.app_name)} ${BuildConfig.VERSION_NAME} (${BuildConfig.VERSION_CODE})") + appendLine(briefOfCurrentVersionInt(true)) + intent.getStringExtra("message")?.let { appendLine().appendLine(it.trimEnd()) } + intent.getStringExtra("error")?.let { appendLine().appendLine(it.trimEnd()) } + }.also { errorMessage = it } + + val binding = ActivityErrorReportBinding.inflate(layoutInflater).also { + setContentView(it.root) + it.toolbar.apply { + title = getString(R.string.text_app_crashed) + setSupportActionBar(this) } - } catch (t: Throwable) { - t.message?.let { msg -> - copyToClip(msg) - ViewUtils.showToast(this, msg) - } - Log.e(TAG, t.message ?: "", t) - exitAfter(3000) - } - } - - override fun onResume() { - super.onResume() - - val message = intent.getStringExtra("message") - val errorDetail = intent.getStringExtra("error") - - val errorMessage = buildString { - appendLine("Version: ${BuildConfig.VERSION_CODE}") - appendLine("Android: ${Build.VERSION.SDK_INT}") - message?.let { appendLine().appendLine(it) } - errorDetail?.let { appendLine().appendLine(it) } + supportActionBar?.setHomeButtonEnabled(false) } - MaterialDialog.Builder(this) - .title(R.string.text_app_crashed) - .content(R.string.crash_feedback) - .neutralText(R.string.text_copy_debug_info) - .neutralColorRes(R.color.dialog_button_hint) - .onNegative { _, _ -> - copyToClip(errorMessage) - exitAfter(1500) + val textView = binding.errorMessage.apply { text = msg } + + val textSizeScaleDetector = ViewUtils.TextSizeScaleDetector(this, textView) + + binding.errorMessageContainer.setOnTouchListener { _, event -> + when (event.pointerCount) { + 2 -> false.also { textSizeScaleDetector.onTouchEvent(event) } + else -> super.onTouchEvent(event) } - .positiveText(R.string.text_exit) - .positiveColorRes(R.color.dialog_button_failure) - .onPositive { _, _ -> exit() } - .cancelable(false) - .show() - } + } - private fun exitAfter(delay: Int) { - Timer().schedule(object : TimerTask() { - override fun run() = exit() - }, delay.toLong()) - } + binding.copy.setOnClickListener { copy() } + binding.restart.setOnClickListener { restart() } + binding.exit.setOnClickListener { exit() } - private fun copyToClip(text: String) { - val clipboardManager = getSystemService(CLIPBOARD_SERVICE) as ClipboardManager - clipboardManager.setPrimaryClip(ClipData.newPlainText("Debug", text)) - ViewUtils.showToast(this, R.string.text_already_copied_to_clip) + savedInstanceState ?: copy() } @Deprecated("Deprecated in Java") @SuppressLint("MissingSuperCall") override fun onBackPressed() = exit() + private fun copy() = ClipboardUtils.setClip(this, errorMessage) + private fun exit() = finishAffinity() - companion object { - - private val TAG: String = ErrorReportActivity::class.java.simpleName - - @JvmStatic - @JvmOverloads - fun test(context: Context = GlobalAppContext.get()) { - Intent(context, ErrorReportActivity::class.java) - .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) - .putExtra("message", "Test message\nSecond line") - .putExtra("error", "Test error\nSecond line") - .let { context.startActivity(it) } + private fun restart() { + val intent = packageManager.getLaunchIntentForPackage(packageName)?.apply { + addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP) + } ?: Intent(this, MainActivity::class.java).apply { + addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_NEW_TASK) } - + startActivity(intent) + exit() } } diff --git a/app/src/main/java/org/autojs/autojs/ui/main/scripts/BaseDisplayContentActivity.kt b/app/src/main/java/org/autojs/autojs/ui/main/scripts/BaseDisplayContentActivity.kt index d59922e4..fe2ffce3 100644 --- a/app/src/main/java/org/autojs/autojs/ui/main/scripts/BaseDisplayContentActivity.kt +++ b/app/src/main/java/org/autojs/autojs/ui/main/scripts/BaseDisplayContentActivity.kt @@ -6,9 +6,7 @@ import android.content.ClipboardManager import android.content.res.ColorStateList import android.os.Bundle import android.text.SpannableStringBuilder -import android.util.TypedValue import android.view.KeyEvent -import android.view.ScaleGestureDetector import android.view.View import android.widget.TextView import com.google.android.material.floatingactionbutton.FloatingActionButton @@ -24,11 +22,9 @@ import kotlinx.coroutines.launch import kotlinx.coroutines.sync.Mutex import kotlinx.coroutines.sync.withLock import org.autojs.autojs.ui.BaseActivity -import org.autojs.autojs.util.DisplayUtils import org.autojs.autojs.util.ViewUtils import org.autojs.autojs6.R import org.autojs.autojs6.databinding.ActivityDisplayScrollableContentBinding -import kotlin.math.floor abstract class BaseDisplayContentActivity : BaseActivity() { @@ -49,12 +45,6 @@ abstract class BaseDisplayContentActivity : BaseActivity() { private var mIsContentLoaded = false private val mTextUpdateMutex = Mutex() - protected val minTextSize = 4.0f - protected val maxTextSize = 72.0f - - private var mLastScaleFactor = 1.0f - private var mLastTextSize = 0.0f - @SuppressLint("ClickableViewAccessibility") override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) @@ -73,7 +63,7 @@ abstract class BaseDisplayContentActivity : BaseActivity() { } } - val scaleGestureDetector = ScaleGestureDetector(this, ScaleListener(internalTextView)) + val scaleGestureDetector = ViewUtils.TextSizeScaleDetector(this, internalTextView) val innerScrollView = binding.innerScrollView.also { ViewUtils.excludePaddingClippableViewFromBottomNavigationBar(it) @@ -264,35 +254,4 @@ abstract class BaseDisplayContentActivity : BaseActivity() { ViewUtils.showSnack(internalTextView, R.string.text_already_copied_to_clip, true) } - // Scaling & Text Size Handling - protected inner class ScaleListener(private val textView: TextView) : ScaleGestureDetector.SimpleOnScaleGestureListener() { - - override fun onScale(detector: ScaleGestureDetector): Boolean { - val currentFactor = (floor((detector.scaleFactor * 10).toDouble()) / 10).toFloat() - if (mLastTextSize <= 0) { - mLastTextSize = getTextSize() - } - if (currentFactor > 0 && mLastScaleFactor != currentFactor) { - val currentTextSize: Float = mLastTextSize + (if (currentFactor > mLastScaleFactor) 1 else -1) - mLastTextSize = currentTextSize.coerceIn(minTextSize, maxTextSize) - setTextSize(mLastTextSize) - mLastScaleFactor = currentFactor - } - return super.onScale(detector) - } - - override fun onScaleEnd(detector: ScaleGestureDetector) { - mLastScaleFactor = 1.0f - super.onScaleEnd(detector) - } - - fun setTextSize(size: Float) { - mLastTextSize = size - textView.setTextSize(TypedValue.COMPLEX_UNIT_SP, size) - } - - fun getTextSize(): Float = DisplayUtils.pxToSp(textView.textSize) - - } - } \ No newline at end of file diff --git a/app/src/main/java/org/autojs/autojs/util/ViewUtils.kt b/app/src/main/java/org/autojs/autojs/util/ViewUtils.kt index b907a2db..fb8715f9 100644 --- a/app/src/main/java/org/autojs/autojs/util/ViewUtils.kt +++ b/app/src/main/java/org/autojs/autojs/util/ViewUtils.kt @@ -21,6 +21,7 @@ import android.util.DisplayMetrics import android.util.TypedValue import android.view.Gravity import android.view.Menu +import android.view.ScaleGestureDetector import android.view.View import android.view.ViewGroup import android.view.ViewGroup.LayoutParams.MATCH_PARENT @@ -32,6 +33,7 @@ import android.view.inputmethod.InputMethodManager import android.widget.EditText import android.widget.FrameLayout import android.widget.ImageView +import android.widget.TextView import android.widget.Toast import androidx.annotation.ColorInt import androidx.annotation.IdRes @@ -52,6 +54,7 @@ import org.autojs.autojs.core.pref.Pref import org.autojs.autojs.theme.ThemeColorManager import org.autojs.autojs.util.StringUtils.key import org.autojs.autojs6.R +import kotlin.math.floor import kotlin.math.roundToInt /** @@ -700,4 +703,64 @@ object ViewUtils { } + @SuppressLint("ClickableViewAccessibility") + class TextSizeScaleDetector(context: Context, textView: TextView) :ScaleGestureDetector(context, TextSizeScaleListener(textView)) { + + init { + textView.apply { + setTextIsSelectable(true) + isLongClickable = true + isFocusableInTouchMode = true + setOnTouchListener { v, event -> + this@TextSizeScaleDetector.onTouchEvent(event) + when { + event.pointerCount > 1 -> { + v.parent?.requestDisallowInterceptTouchEvent(true) + true + } + else -> false + } + } + } + } + + } + + // Scaling & Text Size Handling + private class TextSizeScaleListener(private val textView: TextView) : ScaleGestureDetector.SimpleOnScaleGestureListener() { + + private val mMinTextSize = 4.0f + private val mMaxTextSize = 72.0f + + private var mLastScaleFactor = 1.0f + private var mLastTextSize = 0.0f + + override fun onScale(detector: ScaleGestureDetector): Boolean { + val currentFactor = (floor((detector.scaleFactor * 10).toDouble()) / 10).toFloat() + if (mLastTextSize <= 0) { + mLastTextSize = getTextSize() + } + if (currentFactor > 0 && mLastScaleFactor != currentFactor) { + val currentTextSize: Float = mLastTextSize + (if (currentFactor > mLastScaleFactor) 1 else -1) + mLastTextSize = currentTextSize.coerceIn(mMinTextSize, mMaxTextSize) + setTextSize(mLastTextSize) + mLastScaleFactor = currentFactor + } + return super.onScale(detector) + } + + override fun onScaleEnd(detector: ScaleGestureDetector) { + mLastScaleFactor = 1.0f + super.onScaleEnd(detector) + } + + fun setTextSize(size: Float) { + mLastTextSize = size + textView.setTextSize(TypedValue.COMPLEX_UNIT_SP, size) + } + + fun getTextSize(): Float = DisplayUtils.pxToSp(textView.textSize) + + } + } \ No newline at end of file diff --git a/app/src/main/res/layout/activity_error_report.xml b/app/src/main/res/layout/activity_error_report.xml index 7850924d..be26a252 100644 --- a/app/src/main/res/layout/activity_error_report.xml +++ b/app/src/main/res/layout/activity_error_report.xml @@ -1,15 +1,16 @@ - - + android:orientation="vertical"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_drawer.xml b/app/src/main/res/layout/fragment_drawer.xml index b58bcb56..12e144c1 100644 --- a/app/src/main/res/layout/fragment_drawer.xml +++ b/app/src/main/res/layout/fragment_drawer.xml @@ -83,7 +83,7 @@ android:layout_gravity="center_vertical" android:layout_marginEnd="4dp" android:gravity="center" - android:text="@string/text_restart_app" + android:text="@string/text_restart" android:textColor="?android:textColorPrimary" android:textSize="15sp" /> diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml index d49e68be..186dd783 100644 --- a/app/src/main/res/values-ar/strings.xml +++ b/app/src/main/res/values-ar/strings.xml @@ -910,7 +910,7 @@ نجحت إعادة تعيين إعادة تعيين في البداية إعادة التعيين هي فقط للعينات - إعادة بدء + إعادة بدء نتيجة قم بإلغاء الوصول إلى AutoJs6 في تطبيق Shizuku فحص الجذر مجموعة القوة diff --git a/app/src/main/res/values-en/strings.xml b/app/src/main/res/values-en/strings.xml index 934ec7f5..deb50eb3 100644 --- a/app/src/main/res/values-en/strings.xml +++ b/app/src/main/res/values-en/strings.xml @@ -905,7 +905,7 @@ Reset succeeded Reset initially Reset is only for samples - Restart + Restart Result Revoke AutoJs6 access in Shizuku app Force set root check diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 224d5efe..76e98182 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -908,7 +908,7 @@ Restablecer con éxito Restablecer inicialmente El restablecimiento es sólo para las muestras - Reiniciar + Reiniciar Resultado Revocar privilegios de AutoJs6 en una aplicación Shizuku Forzar la comprobación de root diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 5965e13a..ed4d253b 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -908,7 +908,7 @@ Réinitialisation réussie Réinitialisation initiale Reset n\'est que pour les échantillons - Redémarrer + Redémarrer Résultat Révoquer les privilèges AutoJs6 dans une application Shizuku Force set root check diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index 7ecb83aa..e1aa655a 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -909,7 +909,7 @@ リセット成功 初期リセット リセットはサンプルのみ - 再起動 + 再起動 結果 Shizuku アプリケーションで AutoJs6 権限を取り消す 強制的に root にするチェック diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml index d20ea9c9..80386838 100644 --- a/app/src/main/res/values-ko/strings.xml +++ b/app/src/main/res/values-ko/strings.xml @@ -910,7 +910,7 @@ 재설정이 성공했습니다 처음에 재설정하십시오 재설정은 샘플에만 해당됩니다 - 재시작 + 재시작 결과 Shizuku 애플리케이션에서 AutoJs6 권한 취소하기 강제 설정 루트 검사 diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index e86ef6d3..c680345f 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -908,7 +908,7 @@ Сброс выполнен успешно Сброс первоначально Сброс выполняется только для образцов - Перезапустить + Перезапустить Результат Отмена привилегий AutoJs6 в приложении Shizuku Проверка принудительной установки root diff --git a/app/src/main/res/values-zh-rHK/strings.xml b/app/src/main/res/values-zh-rHK/strings.xml index 6a6e0846..f4b5b5a2 100644 --- a/app/src/main/res/values-zh-rHK/strings.xml +++ b/app/src/main/res/values-zh-rHK/strings.xml @@ -906,7 +906,7 @@ 重置成功 重置為初始內容 只能重置示例代碼文件 - 重啓 + 重啓 結果 在 Shizuku 應用中撤銷 AutoJs6 權限 強制 Root 權限檢查 diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 0ea4a6c7..1bf93a9a 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -906,7 +906,7 @@ 重置成功 重置為初始內容 只能重置示例程式碼檔案 - 重啟 + 重啟 結果 在 Shizuku 應用中撤銷 AutoJs6 許可權 強制 Root 許可權檢查 diff --git a/app/src/main/res/values-zh/strings.xml b/app/src/main/res/values-zh/strings.xml index 1564de5c..246ac175 100644 --- a/app/src/main/res/values-zh/strings.xml +++ b/app/src/main/res/values-zh/strings.xml @@ -906,7 +906,7 @@ 重置成功 重置为初始内容 只能重置示例代码文件 - 重启 + 重启 结果 在 Shizuku 应用中撤销 AutoJs6 权限 强制 Root 权限检查 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 9e986c5e..cc0e96cd 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1136,7 +1136,7 @@ Reset succeeded Reset initially Reset is only for samples - Restart + Restart Result Revoke AutoJs6 access in Shizuku app Force set root check diff --git a/version.properties b/version.properties index 231254c2..a48d3bda 100644 --- a/version.properties +++ b/version.properties @@ -1,5 +1,5 @@ -#Mon Jun 23 16:34:06 CST 2025 -BUILD_TIME=1750667646268 +#Sat Jun 28 19:48:58 CST 2025 +BUILD_TIME=1751111338507 COMPILE_SDK_VERSION=35 IMAGE_QUANT_CMAKE_VERSION=3.22.1 IMAGE_QUANT_NDK_VERSION=26.1.10909125 @@ -19,6 +19,6 @@ RAPID_OCR_OPENCV_MOBILE_LABEL_VERSION=13 RAPID_OCR_OPENCV_MOBILE_VERSION=4.5.3 TARGET_SDK_VERSION=35 TARGET_SDK_VERSION_INRT=29 -VERSION_BUILD=3302 +VERSION_BUILD=3308 VERSION_NAME=6.7.0 Alpha2 VSCODE_EXT_REQUIRED_VERSION=1.0.8