From f82726178d553f1589db89c41db92a49315cdf9f Mon Sep 17 00:00:00 2001 From: SuperMonster003 Date: Sun, 16 Mar 2025 00:13:53 +0800 Subject: [PATCH] =?UTF-8?q?6.6.2=20-=20Alpha4=20-=20UI=20=E6=A8=A1?= =?UTF-8?q?=E5=BC=8F=E7=8A=B6=E6=80=81=E6=A0=8F=E5=8F=8A=E5=AF=BC=E8=88=AA?= =?UTF-8?q?=E6=A0=8F=E9=BB=98=E8=AE=A4=E4=B8=BA=20`md=5Fgrey=5F50`=20?= =?UTF-8?q?=E8=89=B2=E5=80=BC=E4=B8=94=E8=AE=BE=E7=BD=AE=E4=B8=BA=E4=BA=AE?= =?UTF-8?q?=E8=89=B2=E6=A8=A1=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .changelog/lang_zh-Hans.json | 1 + .../autojs/execution/ScriptExecuteActivity.kt | 39 +++++++++++++++---- 2 files changed, 33 insertions(+), 7 deletions(-) diff --git a/.changelog/lang_zh-Hans.json b/.changelog/lang_zh-Hans.json index 0fddd238..a6440a6f 100644 --- a/.changelog/lang_zh-Hans.json +++ b/.changelog/lang_zh-Hans.json @@ -24,6 +24,7 @@ "控件的文字及图标根据主题色亮度值自动切换合适的颜色", "部分控件主题色与背景色对比度过低时的视觉体验", "应用内页面导航栏设置为透明或半透明以增强视觉体验", + "UI 模式状态栏及导航栏默认为 `md_grey_50` 色值且设置为亮色模式", "长按应用主页 \"文件\" 标签可切换浮动按钮可见状态", "日志页面浮动按钮可见状态与列表滚动操作联动", "脚本项目配置文件 project.json 支持更多打包选项 _[`issue #305`](http://issues.autojs6.com/305)_ _[`issue #306`](http://issues.autojs6.com/306)_", diff --git a/app/src/main/java/org/autojs/autojs/execution/ScriptExecuteActivity.kt b/app/src/main/java/org/autojs/autojs/execution/ScriptExecuteActivity.kt index fd6cf1a2..79f26aef 100644 --- a/app/src/main/java/org/autojs/autojs/execution/ScriptExecuteActivity.kt +++ b/app/src/main/java/org/autojs/autojs/execution/ScriptExecuteActivity.kt @@ -3,12 +3,16 @@ package org.autojs.autojs.execution import android.app.Activity import android.content.Context import android.content.Intent +import android.graphics.drawable.ColorDrawable +import android.graphics.drawable.Drawable +import android.os.Build import android.os.Bundle import android.util.Log import android.view.KeyEvent import android.view.Menu import android.view.MenuItem import android.view.MotionEvent +import android.view.WindowManager import androidx.appcompat.app.AppCompatActivity import org.autojs.autojs.annotation.ScriptInterface import org.autojs.autojs.core.eventloop.EventEmitter @@ -23,7 +27,10 @@ import org.autojs.autojs.execution.ScriptExecution.AbstractScriptExecution import org.autojs.autojs.inrt.autojs.LoopBasedJavaScriptEngineWithDecryption import org.autojs.autojs.runtime.ScriptRuntime import org.autojs.autojs.script.ScriptSource +import org.autojs.autojs.util.ColorUtils +import org.autojs.autojs.util.ViewUtils import org.autojs.autojs6.BuildConfig +import org.autojs.autojs6.R import org.mozilla.javascript.ContinuationPending /** @@ -31,12 +38,18 @@ import org.mozilla.javascript.ContinuationPending * Modified by SuperMonster003 as of Nov 15, 2023. */ class ScriptExecuteActivity : AppCompatActivity() { - private var mResult: Any? = null - private lateinit var mScriptEngine: ScriptEngine<*> + + private var mRuntime: ScriptRuntime? = null private var mExecutionListener: ScriptExecutionListener? = null private var mScriptSource: ScriptSource? = null + private var mResult: Any? = null + + private lateinit var mScriptEngine: ScriptEngine<*> private lateinit var mScriptExecution: ActivityScriptExecution - private var mRuntime: ScriptRuntime? = null + + @ScriptInterface + lateinit var eventEmitter: EventEmitter + private set @ScriptInterface val emitter: EventEmitter? @@ -45,16 +58,28 @@ class ScriptExecuteActivity : AppCompatActivity() { else -> null } - @ScriptInterface - lateinit var eventEmitter: EventEmitter - private set - // FIXME by Stardust on Mar 16, 2018. // ! 如果 Activity 被回收则得不到改进. // ! en-US (translated by SuperMonster003 on Jul 29, 2024): // ! No improvements would be obtained if Activity was destroyed. override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) + + val windowBackground: Drawable = window.decorView.background + ?: ColorDrawable(getColor(R.color.md_grey_50)).also { window.setBackgroundDrawable(it) } + + if (windowBackground is ColorDrawable) windowBackground.color.let { backgroundColor -> + val isLightColor = ColorUtils.isLuminanceDark(backgroundColor) + ViewUtils.setStatusBarBackgroundColor(this, backgroundColor) + ViewUtils.setStatusBarAppearanceLight(this, isLightColor) + ViewUtils.setNavigationBarBackgroundColor(this, backgroundColor) + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { + ViewUtils.setNavigationBarAppearanceLight(this, isLightColor) + } + } + + ViewUtils.addWindowFlags(this, WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS) + val executionId = intent.getIntExtra(EXTRA_EXECUTION_ID, ScriptExecution.NO_ID) if (executionId == ScriptExecution.NO_ID) { super.finish()