From 0487cf2a605c3da05081c7fcdf93c6ae140b96ad Mon Sep 17 00:00:00 2001 From: SuperMonster003 Date: Tue, 11 Mar 2025 20:49:07 +0800 Subject: [PATCH] =?UTF-8?q?6.6.2=20-=20Alpha4=20-=20=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E7=BC=96=E8=BE=91=E5=99=A8=E9=A1=B5=E9=9D=A2?= =?UTF-8?q?=E8=8F=9C=E5=8D=95=E9=A1=B9=E5=9B=BE=E6=A0=87=E5=8F=8A=E6=96=87?= =?UTF-8?q?=E5=AD=97=E7=9A=84=E7=9D=80=E8=89=B2=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../autojs/autojs/apkbuilder/TinySign.java | 6 ++++ .../ui/edit/toolbar/DebugToolbarFragment.java | 8 +++-- .../scripts/BaseDisplayContentActivity.kt | 36 +++++++++++++++++-- .../autojs/ui/widget/ToolbarMenuItem.kt | 22 ++++++++---- .../activity_display_scrollable_content.xml | 4 +-- .../res/layout/activity_manage_key_store.xml | 6 ++-- .../res/layout/fragment_debug_toolbar.xml | 5 --- .../res/layout/fragment_normal_toolbar.xml | 4 --- .../res/layout/fragment_search_toolbar.xml | 4 --- app/src/main/res/values-night/colors.xml | 1 - app/src/main/res/values/attrs.xml | 1 - app/src/main/res/values/colors.xml | 5 ++- version.properties | 6 ++-- 13 files changed, 72 insertions(+), 36 deletions(-) diff --git a/app/src/main/java/org/autojs/autojs/apkbuilder/TinySign.java b/app/src/main/java/org/autojs/autojs/apkbuilder/TinySign.java index 5e372b2d..7d5c14d5 100644 --- a/app/src/main/java/org/autojs/autojs/apkbuilder/TinySign.java +++ b/app/src/main/java/org/autojs/autojs/apkbuilder/TinySign.java @@ -146,10 +146,16 @@ public class TinySign { // ! Rhino 1.8.1-SNAPSHOT requires dynamically loading services during initialization (e.g., org.mozilla.javascript.RegExpLoader). // ! When loading these services, it needs to read the service provider configuration files located in the META-INF/services/ directory. // ! During signing, these configuration files need to be written into the ZipOutputStream. + // ! + // ! Refer to: https://stackoverflow.com/questions/4544899/java-meta-inf-services + // ! // ! zh-CN: + // ! // ! Rhino 1.8.1-SNAPSHOT 在初始化时需要动态加载服务 (如 org.mozilla.javascript.RegExpLoader), // ! 这些服务加载时, 需要读取位于 META-INF/services/ 目录下的服务提供者配置文件 (Service Provider Configuration Files). // ! 签名时, 需要将这些配置文件写入 ZipOutputStream 中. + // ! + // ! 参阅: https://stackoverflow.com/questions/4544899/java-meta-inf-services private static void writeServices(File dir, ZipOutputStream zos) throws IOException { File servicesDir = new File(dir, "META-INF/services"); if (!servicesDir.isDirectory()) { diff --git a/app/src/main/java/org/autojs/autojs/ui/edit/toolbar/DebugToolbarFragment.java b/app/src/main/java/org/autojs/autojs/ui/edit/toolbar/DebugToolbarFragment.java index b9c0bf02..11c9e66e 100644 --- a/app/src/main/java/org/autojs/autojs/ui/edit/toolbar/DebugToolbarFragment.java +++ b/app/src/main/java/org/autojs/autojs/ui/edit/toolbar/DebugToolbarFragment.java @@ -274,8 +274,12 @@ public class DebugToolbarFragment extends ToolbarFragment implements DebugCallba } String variable = findVariableOnCursor(line, ch); Log.d(LOG_TAG, "onCursorChange: variable = " + variable + ", ch = " + ch + ", line = " + line); - String value = eval(variable); - mEditorView.debugBar.updateCurrentVariable(variable, value); + try { + String value = eval(variable); + mEditorView.debugBar.updateCurrentVariable(variable, value); + } catch (Exception e) { + e.printStackTrace(); + } } private String findVariableOnCursor(String line, int ch) { 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 a087641c..b8123ea3 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 @@ -3,6 +3,7 @@ package org.autojs.autojs.ui.main.scripts import android.annotation.SuppressLint import android.content.ClipData import android.content.ClipboardManager +import android.content.res.ColorStateList import android.os.Bundle import android.text.SpannableStringBuilder import android.util.TypedValue @@ -10,16 +11,20 @@ import android.view.KeyEvent import android.view.ScaleGestureDetector import android.view.View import android.widget.TextView +import com.google.android.material.floatingactionbutton.FloatingActionButton import io.noties.markwon.syntax.Prism4jThemeBase import io.noties.markwon.syntax.Prism4jThemeDarkula import io.noties.markwon.syntax.Prism4jThemeDefault import io.noties.prism4j.GrammarLocator import io.noties.prism4j.Prism4j -import kotlinx.coroutines.* +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.delay +import kotlinx.coroutines.launch import kotlinx.coroutines.sync.Mutex import kotlinx.coroutines.sync.withLock -import org.autojs.autojs.theme.widget.ThemeColorFloatingActionButton import org.autojs.autojs.ui.BaseActivity +import org.autojs.autojs.util.ColorUtils import org.autojs.autojs.util.DisplayUtils import org.autojs.autojs.util.ViewUtils import org.autojs.autojs6.R @@ -28,14 +33,18 @@ import kotlin.math.floor abstract class BaseDisplayContentActivity : BaseActivity() { + override val handleStatusBarThemeColorAutomatically = false + abstract var internalMenuResource: Int abstract var highlightGrammarLocator: GrammarLocator abstract var highlightGrammarName: String abstract var highlightThemeLanguage: String + open var themeColorDayNight = R.color.md_blue_grey_50 to R.color.md_blue_grey_900 + private lateinit var internalTextView: TextView - private lateinit var internalFabView: ThemeColorFloatingActionButton + private lateinit var internalFabView: FloatingActionButton protected val popMenuActionMap = mutableMapOf Unit>() @@ -126,6 +135,27 @@ abstract class BaseDisplayContentActivity : BaseActivity() { } } + override fun onStart() { + super.onStart() + + val (themeColorDayRes, themeColorNightRes) = themeColorDayNight + + val themeColorDay = getColor(themeColorDayRes) + val themeColorNight = getColor(themeColorNightRes) + + if (ViewUtils.isNightModeYes(this)) { + internalFabView.backgroundTintList = ColorStateList.valueOf(themeColorNight) + internalFabView.imageTintList = ColorStateList.valueOf(if (ColorUtils.isLuminanceDark(themeColorNight)) getColor(R.color.night) else getColor(R.color.day)) + ViewUtils.setStatusBarBackgroundColor(this, themeColorNight) + ViewUtils.setStatusBarIconLight(this, ColorUtils.isLuminanceDark(themeColorNight)) + } else { + internalFabView.backgroundTintList = ColorStateList.valueOf(themeColorDay) + internalFabView.imageTintList = ColorStateList.valueOf(if (ColorUtils.isLuminanceDark(themeColorDay)) getColor(R.color.night) else getColor(R.color.day)) + ViewUtils.setStatusBarBackgroundColor(this, themeColorDay) + ViewUtils.setStatusBarIconLight(this, ColorUtils.isLuminanceDark(themeColorDay)) + } + } + protected abstract suspend fun loadAndDisplayContent() override fun onKeyDown(keyCode: Int, event: KeyEvent?): Boolean { diff --git a/app/src/main/java/org/autojs/autojs/ui/widget/ToolbarMenuItem.kt b/app/src/main/java/org/autojs/autojs/ui/widget/ToolbarMenuItem.kt index cd53ad32..91d85648 100644 --- a/app/src/main/java/org/autojs/autojs/ui/widget/ToolbarMenuItem.kt +++ b/app/src/main/java/org/autojs/autojs/ui/widget/ToolbarMenuItem.kt @@ -1,13 +1,14 @@ package org.autojs.autojs.ui.widget import android.content.Context -import android.graphics.Color +import android.content.res.ColorStateList import android.graphics.drawable.Drawable import android.util.AttributeSet import android.widget.ImageView import android.widget.LinearLayout import android.widget.TextView import androidx.core.content.ContextCompat +import org.autojs.autojs.theme.ThemeColorManager import org.autojs.autojs.util.DrawableUtils import org.autojs.autojs6.R @@ -16,8 +17,17 @@ import org.autojs.autojs6.R */ class ToolbarMenuItem : LinearLayout { - private val mColorDisabled: Int = ContextCompat.getColor(context, R.color.toolbar_disabled) - private val mColorEnabled: Int = ContextCompat.getColor(context, R.color.toolbar_text) + private val mColorDisabled: Int + get() = when (ThemeColorManager.isThemeColorLuminanceLight()) { + true -> ContextCompat.getColor(context, R.color.toolbar_menu_item_disabled_dark) + else -> ContextCompat.getColor(context, R.color.toolbar_menu_item_disabled_light) + } + private val mColorEnabled: Int + get() = when (ThemeColorManager.isThemeColorLuminanceLight()) { + true -> ContextCompat.getColor(context, R.color.toolbar_menu_item_enabled_dark) + else -> ContextCompat.getColor(context, R.color.toolbar_menu_item_enabled_light) + } + private var mImageView: ImageView private var mTextView: TextView private var mEnabledDrawable: Drawable? = null @@ -30,15 +40,12 @@ class ToolbarMenuItem : LinearLayout { val iconText = a.getString(R.styleable.ToolbarMenuItem_text) val iconResId = a.getResourceId(R.styleable.ToolbarMenuItem_icon, 0) - val iconColor = a.getColor(R.styleable.ToolbarMenuItem_icon_color, Color.TRANSPARENT) a.recycle() mImageView = findViewById(R.id.icon).apply { setImageResource(iconResId) - if (iconColor != Color.TRANSPARENT) { - setImageDrawable(DrawableUtils.setDrawableColorFilterSrcIn(drawable, iconColor)) - } + imageTintList = ColorStateList.valueOf(mColorEnabled) } mTextView = findViewById(R.id.text).apply { @@ -57,6 +64,7 @@ class ToolbarMenuItem : LinearLayout { ensureEnabledDrawable() ensureDisabledDrawable() mImageView.setImageDrawable(if (enabled) mEnabledDrawable else mDisabledDrawable) + mImageView.imageTintList = ColorStateList.valueOf(if (enabled) mColorEnabled else mColorDisabled) mTextView.setTextColor(if (enabled) mColorEnabled else mColorDisabled) } } diff --git a/app/src/main/res/layout/activity_display_scrollable_content.xml b/app/src/main/res/layout/activity_display_scrollable_content.xml index 6dd41f78..69e2228d 100644 --- a/app/src/main/res/layout/activity_display_scrollable_content.xml +++ b/app/src/main/res/layout/activity_display_scrollable_content.xml @@ -33,7 +33,7 @@ - \ No newline at end of file diff --git a/app/src/main/res/layout/activity_manage_key_store.xml b/app/src/main/res/layout/activity_manage_key_store.xml index 29025440..4bc09f70 100644 --- a/app/src/main/res/layout/activity_manage_key_store.xml +++ b/app/src/main/res/layout/activity_manage_key_store.xml @@ -1,6 +1,7 @@ @@ -15,8 +16,9 @@ android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_marginEnd="13dp" - android:theme="@style/ToolBarStyle" /> + android:paddingEnd="6dp" + android:theme="@style/ToolBarStyle" + tools:ignore="RtlSymmetry" /> diff --git a/app/src/main/res/layout/fragment_debug_toolbar.xml b/app/src/main/res/layout/fragment_debug_toolbar.xml index 695fe1be..fc775a0f 100644 --- a/app/src/main/res/layout/fragment_debug_toolbar.xml +++ b/app/src/main/res/layout/fragment_debug_toolbar.xml @@ -11,7 +11,6 @@ android:layout_width="40dp" android:layout_height="match_parent" app:icon="@drawable/ic_debug_step_over" - app:icon_color="@color/toolbar_text" app:text="@string/text_debug_step_over"/> \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_normal_toolbar.xml b/app/src/main/res/layout/fragment_normal_toolbar.xml index aa418f9f..1b181b74 100644 --- a/app/src/main/res/layout/fragment_normal_toolbar.xml +++ b/app/src/main/res/layout/fragment_normal_toolbar.xml @@ -11,7 +11,6 @@ android:layout_width="40dp" android:layout_height="match_parent" app:icon="@drawable/ic_play_arrow_white_48dp" - app:icon_color="@color/toolbar_text" app:text="@string/text_run_simplified" /> \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_search_toolbar.xml b/app/src/main/res/layout/fragment_search_toolbar.xml index c2db2a56..aa860566 100644 --- a/app/src/main/res/layout/fragment_search_toolbar.xml +++ b/app/src/main/res/layout/fragment_search_toolbar.xml @@ -11,7 +11,6 @@ android:layout_width="40dp" android:layout_height="match_parent" app:icon="@drawable/ic_ali_replace" - app:icon_color="@color/toolbar_text" app:text="@string/text_replace_simplified"/> \ No newline at end of file diff --git a/app/src/main/res/values-night/colors.xml b/app/src/main/res/values-night/colors.xml index cabdbdf3..41362d46 100644 --- a/app/src/main/res/values-night/colors.xml +++ b/app/src/main/res/values-night/colors.xml @@ -54,7 +54,6 @@ #111214 @color/night_day - #6E292929 #9A9A9A #808080 diff --git a/app/src/main/res/values/attrs.xml b/app/src/main/res/values/attrs.xml index 89f93dff..93b1fb9f 100644 --- a/app/src/main/res/values/attrs.xml +++ b/app/src/main/res/values/attrs.xml @@ -47,7 +47,6 @@ - diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index 4debe67b..898b241e 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -132,9 +132,12 @@ #111214 @color/night_day + @color/night + @color/dawn + #6EE0E0E0 + #6E292929 @color/night @color/day - #6EE0E0E0 #282C2F #9DA0A2 diff --git a/version.properties b/version.properties index 5eebdaa5..a59e8073 100644 --- a/version.properties +++ b/version.properties @@ -1,5 +1,5 @@ -#Tue Mar 11 15:15:22 CST 2025 -BUILD_TIME=1741677322038 +#Tue Mar 11 20:47:13 CST 2025 +BUILD_TIME=1741697233189 COMPILE_SDK_VERSION=35 JAVA_VERSION=23 JAVA_VERSION_MIN_RADICAL=0 @@ -17,6 +17,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=3011 +VERSION_BUILD=3014 VERSION_NAME=6.6.2 Alpha4 VSCODE_EXT_REQUIRED_VERSION=1.0.8