From 2dddebdc11f8f16a7be47f521c817991446767c3 Mon Sep 17 00:00:00 2001 From: SuperMonster003 Date: Fri, 30 May 2025 20:39:05 +0800 Subject: [PATCH] =?UTF-8?q?6.6.4=20-=20Alpha2=20-=20API=20=E5=8F=98?= =?UTF-8?q?=E6=9B=B4:=20ui.(status/navigation)BarAppearanceLight[By]=20->?= =?UTF-8?q?=20ui.(status/navigation)BarIconLight[By]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .changelog/lang_zh-Hans.json | 5 +- .../布局/简单 Android 布局 [v6.6.3+].js | 4 +- .../autojs/execution/ScriptExecuteActivity.kt | 4 +- .../autojs/runtime/api/augment/ui/UI.kt | 24 ++++---- .../autojs/autojs/theme/ThemeColorManager.kt | 4 +- .../theme/app/ColorSearchHelpActivity.kt | 2 +- .../theme/app/ColorSelectBaseActivity.kt | 2 +- .../java/org/autojs/autojs/ui/BaseActivity.kt | 12 ++-- .../autojs/ui/doc/DocumentationActivity.kt | 2 +- .../org/autojs/autojs/ui/edit/EditorView.kt | 2 +- .../org/autojs/autojs/ui/main/MainActivity.kt | 14 ++--- .../scripts/BaseDisplayContentActivity.kt | 8 +-- .../org/autojs/autojs/util/StringUtils.kt | 2 +- .../java/org/autojs/autojs/util/ViewUtils.kt | 56 ++++++++----------- version.properties | 8 +-- 15 files changed, 70 insertions(+), 79 deletions(-) diff --git a/.changelog/lang_zh-Hans.json b/.changelog/lang_zh-Hans.json index 6bb2fb4b..33c692c8 100644 --- a/.changelog/lang_zh-Hans.json +++ b/.changelog/lang_zh-Hans.json @@ -1,7 +1,10 @@ { "$data": { "v6.6.4": { - "released_date": "2025/05/29", + "released_date": "2025/05/30", + "hint": [ + "API 变更: ui.(status/navigation)BarAppearanceLight[By] -> ui.(status/navigation)BarIconLight[By]" + ], "feature": [ "util.dpToPx/spToPx/pxToDp/pxToSp 方法, 用于像素单位转换" ], diff --git a/app/src/main/assets-app/sample/布局/简单 Android 布局 [v6.6.3+].js b/app/src/main/assets-app/sample/布局/简单 Android 布局 [v6.6.3+].js index 4c81b701..874af973 100644 --- a/app/src/main/assets-app/sample/布局/简单 Android 布局 [v6.6.3+].js +++ b/app/src/main/assets-app/sample/布局/简单 Android 布局 [v6.6.3+].js @@ -19,10 +19,10 @@ setTimeout(() => { ui.backgroundColor(themeColor); ui.statusBarColor(themeColor); - ui.statusBarAppearanceLightBy(themeColor); + ui.statusBarIconLightBy(themeColor); ui.navigationBarColor(themeColor); - ui.navigationBarAppearanceLightBy(themeColor); + ui.navigationBarIconLightBy(themeColor); /** @type {JsTextClock} */ let textClockView = ui['text_clock']; 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 05236d67..85269776 100644 --- a/app/src/main/java/org/autojs/autojs/execution/ScriptExecuteActivity.kt +++ b/app/src/main/java/org/autojs/autojs/execution/ScriptExecuteActivity.kt @@ -80,10 +80,10 @@ class ScriptExecuteActivity : AppCompatActivity(), OnActivityResultDelegate.Dele if (windowBackground is ColorDrawable) windowBackground.color.let { backgroundColor -> val isLightColor = ViewUtils.isLuminanceDark(backgroundColor) ViewUtils.setStatusBarBackgroundColor(this, backgroundColor) - ViewUtils.setStatusBarAppearanceLight(this, isLightColor) + ViewUtils.setStatusBarIconLight(this, isLightColor) ViewUtils.setNavigationBarBackgroundColor(this, backgroundColor) if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { - ViewUtils.setNavigationBarAppearanceLight(this, isLightColor) + ViewUtils.setNavigationBarIconLight(this, isLightColor) } } diff --git a/app/src/main/java/org/autojs/autojs/runtime/api/augment/ui/UI.kt b/app/src/main/java/org/autojs/autojs/runtime/api/augment/ui/UI.kt index 83bdeccf..71a52949 100644 --- a/app/src/main/java/org/autojs/autojs/runtime/api/augment/ui/UI.kt +++ b/app/src/main/java/org/autojs/autojs/runtime/api/augment/ui/UI.kt @@ -114,12 +114,12 @@ class UI(private val scriptRuntime: ScriptRuntime) : AugmentableProxy(scriptRunt ::registerWidget.name, ::setContentView.name, ::statusBarColor.name, - ::statusBarAppearanceLight.name, - ::statusBarAppearanceLightBy.name, + ::statusBarIconLight.name, + ::statusBarIconLightBy.name, ::backgroundColor.name, ::navigationBarColor.name, - ::navigationBarAppearanceLight.name, - ::navigationBarAppearanceLightBy.name, + ::navigationBarIconLight.name, + ::navigationBarIconLightBy.name, ::findById.name, ::findByStringId.name, ::findView.name, @@ -539,11 +539,11 @@ class UI(private val scriptRuntime: ScriptRuntime) : AugmentableProxy(scriptRunt @JvmStatic @RhinoRuntimeFunctionInterface - fun statusBarAppearanceLight(scriptRuntime: ScriptRuntime, args: Array): Undefined = ensureArgumentsAtMost(args, 1) { argList -> + fun statusBarIconLight(scriptRuntime: ScriptRuntime, args: Array): Undefined = ensureArgumentsAtMost(args, 1) { argList -> val (isLight) = argList ensureActivity(scriptRuntime) { activity -> runRhinoRuntime(scriptRuntime, newBaseFunction("action", { - ViewUtils.setStatusBarAppearanceLight(activity, coerceBoolean(isLight, true)) + ViewUtils.setStatusBarIconLight(activity, coerceBoolean(isLight, true)) }, NOT_CONSTRUCTABLE)) } UNDEFINED @@ -551,10 +551,10 @@ class UI(private val scriptRuntime: ScriptRuntime) : AugmentableProxy(scriptRunt @JvmStatic @RhinoRuntimeFunctionInterface - fun statusBarAppearanceLightBy(scriptRuntime: ScriptRuntime, args: Array): Undefined = ensureArgumentsOnlyOne(args) { refColor -> + fun statusBarIconLightBy(scriptRuntime: ScriptRuntime, args: Array): Undefined = ensureArgumentsOnlyOne(args) { refColor -> ensureActivity(scriptRuntime) { activity -> runRhinoRuntime(scriptRuntime, newBaseFunction("action", { - Colors.toIntRhino(refColor).also { ViewUtils.setStatusBarAppearanceLight(activity, ViewUtils.isLuminanceDark(it)) } + Colors.toIntRhino(refColor).also { ViewUtils.setStatusBarIconLight(activity, ViewUtils.isLuminanceDark(it)) } }, NOT_CONSTRUCTABLE)) } UNDEFINED @@ -586,14 +586,14 @@ class UI(private val scriptRuntime: ScriptRuntime) : AugmentableProxy(scriptRunt @JvmStatic @RhinoRuntimeFunctionInterface - fun navigationBarAppearanceLight(scriptRuntime: ScriptRuntime, args: Array): Undefined = ensureArgumentsAtMost(args, 1) { argList -> + fun navigationBarIconLight(scriptRuntime: ScriptRuntime, args: Array): Undefined = ensureArgumentsAtMost(args, 1) { argList -> val (isLight) = argList ensureActivity(scriptRuntime) { activity -> runRhinoRuntime(scriptRuntime, newBaseFunction("action", { if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O) { ScriptRuntime.requiresApi(Build.VERSION_CODES.O) } else { - ViewUtils.setNavigationBarAppearanceLight(activity, coerceBoolean(isLight, true)) + ViewUtils.setNavigationBarIconLight(activity, coerceBoolean(isLight, true)) } }, NOT_CONSTRUCTABLE)) } @@ -602,14 +602,14 @@ class UI(private val scriptRuntime: ScriptRuntime) : AugmentableProxy(scriptRunt @JvmStatic @RhinoRuntimeFunctionInterface - fun navigationBarAppearanceLightBy(scriptRuntime: ScriptRuntime, args: Array): Undefined = ensureArgumentsOnlyOne(args) { refColor -> + fun navigationBarIconLightBy(scriptRuntime: ScriptRuntime, args: Array): Undefined = ensureArgumentsOnlyOne(args) { refColor -> ensureActivity(scriptRuntime) { activity -> runRhinoRuntime(scriptRuntime, newBaseFunction("action", { Colors.toIntRhino(refColor).also { if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O) { ScriptRuntime.requiresApi(Build.VERSION_CODES.O) } else { - ViewUtils.setNavigationBarAppearanceLight(activity, ViewUtils.isLuminanceDark(it)) + ViewUtils.setNavigationBarIconLight(activity, ViewUtils.isLuminanceDark(it)) } } }, NOT_CONSTRUCTABLE)) diff --git a/app/src/main/java/org/autojs/autojs/theme/ThemeColorManager.kt b/app/src/main/java/org/autojs/autojs/theme/ThemeColorManager.kt index 7bfe2c03..84f219bb 100644 --- a/app/src/main/java/org/autojs/autojs/theme/ThemeColorManager.kt +++ b/app/src/main/java/org/autojs/autojs/theme/ThemeColorManager.kt @@ -100,8 +100,8 @@ object ThemeColorManager { } @JvmStatic - fun setStatusBarAppearanceLight(activity: Activity) { - ViewUtils.setStatusBarAppearanceLight(activity, isLuminanceDark()) + fun setStatusBarIconLight(activity: Activity) { + ViewUtils.setStatusBarIconLight(activity, isLuminanceDark()) } private object BackgroundColorManager { diff --git a/app/src/main/java/org/autojs/autojs/theme/app/ColorSearchHelpActivity.kt b/app/src/main/java/org/autojs/autojs/theme/app/ColorSearchHelpActivity.kt index ee2edcd6..35046b68 100644 --- a/app/src/main/java/org/autojs/autojs/theme/app/ColorSearchHelpActivity.kt +++ b/app/src/main/java/org/autojs/autojs/theme/app/ColorSearchHelpActivity.kt @@ -37,7 +37,7 @@ class ColorSearchHelpActivity : BaseActivity() { override fun onStart() { super.onStart() - setUpStatusBarAppearanceLightByNightMode() + setUpStatusBarIconLightByNightMode() } private fun getContent(contentResourceId: Int) = runCatching { diff --git a/app/src/main/java/org/autojs/autojs/theme/app/ColorSelectBaseActivity.kt b/app/src/main/java/org/autojs/autojs/theme/app/ColorSelectBaseActivity.kt index 6a23c385..f5582974 100644 --- a/app/src/main/java/org/autojs/autojs/theme/app/ColorSelectBaseActivity.kt +++ b/app/src/main/java/org/autojs/autojs/theme/app/ColorSelectBaseActivity.kt @@ -145,7 +145,7 @@ abstract class ColorSelectBaseActivity : BaseActivity() { super.initThemeColors() updateToolbarColors() updateSearchViewColors() - ViewUtils.setStatusBarAppearanceLightByColorLuminance(this, currentColor) + ViewUtils.setStatusBarIconLightByColorLuminance(this, currentColor) } override fun onCreateOptionsMenu(menu: Menu): Boolean { diff --git a/app/src/main/java/org/autojs/autojs/ui/BaseActivity.kt b/app/src/main/java/org/autojs/autojs/ui/BaseActivity.kt index 7982907d..912904aa 100644 --- a/app/src/main/java/org/autojs/autojs/ui/BaseActivity.kt +++ b/app/src/main/java/org/autojs/autojs/ui/BaseActivity.kt @@ -48,7 +48,7 @@ abstract class BaseActivity : AppCompatActivity() { initThemeColors() if (handleStatusBarThemeColorAutomatically) { ThemeColorManager.setStatusBarBackgroundColor(this) - setUpStatusBarAppearanceLightByThemeColor() + setUpStatusBarIconLightByThemeColor() } } @@ -75,7 +75,7 @@ abstract class BaseActivity : AppCompatActivity() { initThemeColors() if (handleStatusBarThemeColorAutomatically) { ThemeColorManager.addActivityStatusBar(this) - setUpStatusBarAppearanceLightByThemeColor() + setUpStatusBarIconLightByThemeColor() } } @@ -92,12 +92,12 @@ abstract class BaseActivity : AppCompatActivity() { fun setToolbarAsBack(title: String?) = ViewUtils.setToolbarAsBack(this, title) - protected fun setUpStatusBarAppearanceLightByNightMode() { - ViewUtils.setStatusBarAppearanceLight(this, ViewUtils.isNightModeEnabled) + protected fun setUpStatusBarIconLightByNightMode() { + ViewUtils.setStatusBarIconLight(this, ViewUtils.isNightModeEnabled) } - protected fun setUpStatusBarAppearanceLightByThemeColor() { - ThemeColorManager.setStatusBarAppearanceLight(this) + protected fun setUpStatusBarIconLightByThemeColor() { + ThemeColorManager.setStatusBarIconLight(this) } } \ No newline at end of file diff --git a/app/src/main/java/org/autojs/autojs/ui/doc/DocumentationActivity.kt b/app/src/main/java/org/autojs/autojs/ui/doc/DocumentationActivity.kt index 18b3a9e5..5e24d2f2 100644 --- a/app/src/main/java/org/autojs/autojs/ui/doc/DocumentationActivity.kt +++ b/app/src/main/java/org/autojs/autojs/ui/doc/DocumentationActivity.kt @@ -43,7 +43,7 @@ class DocumentationActivity : BaseActivity() { override fun onStart() { super.onStart() - setUpStatusBarAppearanceLightByNightMode() + setUpStatusBarIconLightByNightMode() } @SuppressLint("MissingSuperCall") diff --git a/app/src/main/java/org/autojs/autojs/ui/edit/EditorView.kt b/app/src/main/java/org/autojs/autojs/ui/edit/EditorView.kt index 808fb901..cf006d69 100644 --- a/app/src/main/java/org/autojs/autojs/ui/edit/EditorView.kt +++ b/app/src/main/java/org/autojs/autojs/ui/edit/EditorView.kt @@ -758,7 +758,7 @@ class EditorView : LinearLayout, OnHintClickListener, ClickCallback, ToolbarFrag private val TAG = EditorView::class.java.simpleName - private const val MIN_CONFIDENCE_TO_WRITE_FILE = 60 + private const val MIN_CONFIDENCE_TO_WRITE_FILE = 90 private val DEFAULT_CHARSET_TO_WRITE_FILE = StandardCharsets.UTF_8 const val EXTRA_PATH = "path" diff --git a/app/src/main/java/org/autojs/autojs/ui/main/MainActivity.kt b/app/src/main/java/org/autojs/autojs/ui/main/MainActivity.kt index ea6639f7..d73f0704 100644 --- a/app/src/main/java/org/autojs/autojs/ui/main/MainActivity.kt +++ b/app/src/main/java/org/autojs/autojs/ui/main/MainActivity.kt @@ -199,8 +199,8 @@ class MainActivity : BaseActivity(), DelegateHost, HostActivity { // ! zh-CN: // ! 此处改为中间值 (如 `slideOffset < 0.5`) 会带来更好的通知栏亮暗色转换视觉体验, // ! 但会造成抽屉视图滑动时出现些微卡顿. - slideOffset < 1 -> setUpStatusBarAppearanceLightByThemeColor() - else -> setUpStatusBarAppearanceLightByNightMode() + slideOffset < 1 -> setUpStatusBarIconLightByThemeColor() + else -> setUpStatusBarIconLightByNightMode() } } @@ -258,13 +258,13 @@ class MainActivity : BaseActivity(), DelegateHost, HostActivity { super.initThemeColors() setUpToolbarColors() setUpTabLayoutColors() - setUpStatusBarAppearanceLight() + setUpStatusBarIconLight() } override fun onWindowFocusChanged(hasFocus: Boolean) { super.onWindowFocusChanged(hasFocus) if (hasFocus) { - setUpStatusBarAppearanceLight() + setUpStatusBarIconLight() } } @@ -294,12 +294,12 @@ class MainActivity : BaseActivity(), DelegateHost, HostActivity { mTab.setSelectedTabIndicatorColor(tabSelectedIndicatorColor) } - private fun setUpStatusBarAppearanceLight() { + private fun setUpStatusBarIconLight() { Handler(Looper.getMainLooper()).post { if (sIsActionBarDrawerOpened) { - setUpStatusBarAppearanceLightByNightMode() + setUpStatusBarIconLightByNightMode() } else { - setUpStatusBarAppearanceLightByThemeColor() + setUpStatusBarIconLightByThemeColor() } } } 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 27e0ddb0..d59922e4 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 @@ -68,7 +68,7 @@ abstract class BaseDisplayContentActivity : BaseActivity() { internalFabView = binding.fab.apply { if (internalMenuResource > 0) { setOnClickListener { view -> showPopupMenu(view, internalTextView) } - ViewUtils.excludeFloatingActionButtonFromNavigationBar(this) + ViewUtils.excludeFloatingActionButtonFromBottomNavigationBar(this) visibility = View.VISIBLE } } @@ -76,6 +76,7 @@ abstract class BaseDisplayContentActivity : BaseActivity() { val scaleGestureDetector = ScaleGestureDetector(this, ScaleListener(internalTextView)) val innerScrollView = binding.innerScrollView.also { + ViewUtils.excludePaddingClippableViewFromBottomNavigationBar(it) it.setOnTouchListener { view, event -> when (event.pointerCount) { 2 -> { @@ -118,7 +119,6 @@ abstract class BaseDisplayContentActivity : BaseActivity() { else -> super.onTouchEvent(event) } } - ViewUtils.excludePaddingClippableViewFromNavigationBar(it) } // 使用协程加载内容 @@ -148,12 +148,12 @@ abstract class BaseDisplayContentActivity : BaseActivity() { internalFabView.backgroundTintList = ColorStateList.valueOf(themeColorNight) internalFabView.imageTintList = ColorStateList.valueOf(if (ViewUtils.isLuminanceDark(themeColorNight)) getColor(R.color.night) else getColor(R.color.day)) ViewUtils.setStatusBarBackgroundColor(this, themeColorNight) - ViewUtils.setStatusBarAppearanceLight(this, ViewUtils.isLuminanceDark(themeColorNight)) + ViewUtils.setStatusBarIconLight(this, ViewUtils.isLuminanceDark(themeColorNight)) } else { internalFabView.backgroundTintList = ColorStateList.valueOf(themeColorDay) internalFabView.imageTintList = ColorStateList.valueOf(if (ViewUtils.isLuminanceDark(themeColorDay)) getColor(R.color.night) else getColor(R.color.day)) ViewUtils.setStatusBarBackgroundColor(this, themeColorDay) - ViewUtils.setStatusBarAppearanceLight(this, ViewUtils.isLuminanceDark(themeColorDay)) + ViewUtils.setStatusBarIconLight(this, ViewUtils.isLuminanceDark(themeColorDay)) } } diff --git a/app/src/main/java/org/autojs/autojs/util/StringUtils.kt b/app/src/main/java/org/autojs/autojs/util/StringUtils.kt index 59e3896e..3daebcaf 100644 --- a/app/src/main/java/org/autojs/autojs/util/StringUtils.kt +++ b/app/src/main/java/org/autojs/autojs/util/StringUtils.kt @@ -245,7 +245,7 @@ object StringUtils { @JvmStatic fun detectCharset(bytes: ByteArray): CharsetMatchWrapper { val matches = kotlin.runCatching { - CharsetDetector().apply { setText(bytes) }.detectAll() + CharsetDetector().apply { setText(bytes).setDeclaredEncoding("UTF-8") }.detectAll() }.getOrNull() ?: return CharsetMatchWrapper(null) matches.firstOrNull { 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 05cefd86..88be71c1 100644 --- a/app/src/main/java/org/autojs/autojs/util/ViewUtils.kt +++ b/app/src/main/java/org/autojs/autojs/util/ViewUtils.kt @@ -35,7 +35,6 @@ import android.widget.ImageView import android.widget.Toast import androidx.annotation.ColorInt import androidx.annotation.IdRes -import androidx.annotation.RequiresApi import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatDelegate import androidx.appcompat.widget.SearchView @@ -215,28 +214,22 @@ object ViewUtils { } @JvmStatic - fun isStatusBarAppearanceLight(activity: Activity): Boolean { - return !isStatusBarAppearanceDark(activity) + fun isStatusBarIconLight(activity: Activity): Boolean { + return !WindowInsetsControllerCompat(activity.window, activity.window.decorView).isAppearanceLightStatusBars } @JvmStatic - fun isStatusBarAppearanceDark(activity: Activity): Boolean { - @Suppress("DEPRECATION") - return hasSystemUiVisibility(activity, View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR) + fun isStatusBarIconDark(activity: Activity): Boolean { + return !isStatusBarIconLight(activity) } - fun setStatusBarAppearanceLight(activity: Activity, isLight: Boolean) { - @Suppress("DEPRECATION") - when { - isStatusBarAppearanceLight(activity) == isLight -> return - isLight -> removeSystemUiVisibility(activity, View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR) - else -> appendSystemUiVisibility(activity, View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR) - } + fun setStatusBarIconLight(activity: Activity, isLight: Boolean) { + WindowInsetsControllerCompat(activity.window, activity.window.decorView).isAppearanceLightStatusBars = !isLight } - fun setStatusBarAppearanceLightByColorLuminance(activity: Activity, @ColorInt aimColor: Int) { - val shouldBeLight = isLuminanceDark(aimColor) - setStatusBarAppearanceLight(activity, shouldBeLight) + fun setStatusBarIconLightByColorLuminance(activity: Activity, @ColorInt referenceBackgroundColor: Int) { + val shouldBeLight = isLuminanceDark(referenceBackgroundColor) + setStatusBarIconLight(activity, shouldBeLight) } @JvmStatic @@ -276,27 +269,23 @@ object ViewUtils { } } - @RequiresApi(Build.VERSION_CODES.O) @JvmStatic - fun isNavigationBarAppearanceLight(activity: Activity): Boolean { - return !isNavigationBarAppearanceDark(activity) + fun isNavigationBarIconLight(activity: Activity): Boolean { + return !WindowInsetsControllerCompat(activity.window, activity.window.decorView).isAppearanceLightNavigationBars } - @RequiresApi(Build.VERSION_CODES.O) @JvmStatic - fun isNavigationBarAppearanceDark(activity: Activity): Boolean { - @Suppress("DEPRECATION") - return hasSystemUiVisibility(activity, View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR) + fun isNavigationBarIconDark(activity: Activity): Boolean { + return !isNavigationBarIconLight(activity) } - @RequiresApi(Build.VERSION_CODES.O) - fun setNavigationBarAppearanceLight(activity: Activity, isLight: Boolean) { - @Suppress("DEPRECATION") - when { - isNavigationBarAppearanceLight(activity) == isLight -> return - isLight -> removeSystemUiVisibility(activity, View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR) - else -> appendSystemUiVisibility(activity, View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR) - } + fun setNavigationBarIconLight(activity: Activity, isLight: Boolean) { + WindowInsetsControllerCompat(activity.window, activity.window.decorView).isAppearanceLightNavigationBars = isLight + } + + fun setNavigationBarIconLightByColorLuminance(activity: Activity, @ColorInt referenceBackgroundColor: Int) { + val shouldBeLight = isLuminanceDark(referenceBackgroundColor) + setNavigationBarIconLight(activity, shouldBeLight) } fun setNavigationBarBackgroundColor(activity: Activity, color: Int) { @@ -365,11 +354,10 @@ object ViewUtils { fun makeBarsAdaptToNightMode(activity: AppCompatActivity) { val isConfigDark = isNightModeYes(activity) - val isConfigTakenAsLight = !isConfigDark getWindowInsetsController(activity).apply { - isAppearanceLightStatusBars = isConfigTakenAsLight - isAppearanceLightNavigationBars = isConfigTakenAsLight + isAppearanceLightStatusBars = isConfigDark + isAppearanceLightNavigationBars = isConfigDark } } diff --git a/version.properties b/version.properties index 8e2ffe21..0633a996 100644 --- a/version.properties +++ b/version.properties @@ -1,5 +1,5 @@ -#Thu May 29 19:18:00 CST 2025 -BUILD_TIME=1748517480683 +#Fri May 30 20:20:54 CST 2025 +BUILD_TIME=1748607654503 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=3271 -VERSION_NAME=6.6.4 Alpha +VERSION_BUILD=3274 +VERSION_NAME=6.6.4 Alpha2 VSCODE_EXT_REQUIRED_VERSION=1.0.8