From 85fb42ca9787d3f399bd216483937c0dedb519d5 Mon Sep 17 00:00:00 2001 From: ZhanGSKen Date: Tue, 2 Jun 2026 03:15:35 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E4=B8=BB=E9=A2=98?= =?UTF-8?q?=E5=88=87=E6=8D=A2=E6=97=B6=20IndexOutOfBoundsException=20?= =?UTF-8?q?=E5=B4=A9=E6=BA=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - App.onCreate() 中调用 AESThemeUtil.init() 注入当前应用的 R.style.* 主题ID列表(按 ThemeType.ordinal() 顺序排列), 避免 Jitpack AESThemeUtil 内部 ArrayList 为空导致越界崩溃 - PatternLockActivity / SettingsActivity 删除冗余的 AESThemeUtil.applyAppTheme(this) 调用(父类 BaseWinBoLLActivity 已在 onCreate 中通过 setThemeStyle() 处理主题设置) --- .../main/java/cc/winboll/studio/winboll/App.java | 13 +++++++++++++ .../winboll/activities/PatternLockActivity.java | 2 -- .../studio/winboll/activities/SettingsActivity.java | 2 -- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/winboll/src/main/java/cc/winboll/studio/winboll/App.java b/winboll/src/main/java/cc/winboll/studio/winboll/App.java index 81b0930..99c8e4c 100644 --- a/winboll/src/main/java/cc/winboll/studio/winboll/App.java +++ b/winboll/src/main/java/cc/winboll/studio/winboll/App.java @@ -40,7 +40,9 @@ import java.util.Arrays; import java.util.Date; import java.util.LinkedHashMap; import java.util.concurrent.atomic.AtomicBoolean; +import cc.winboll.studio.libaes.utils.AESThemeUtil; import cc.winboll.studio.libaes.utils.WinBoLLActivityManager; +import java.util.ArrayList; public class App extends GlobalApplication { @@ -62,6 +64,17 @@ public class App extends GlobalApplication { //setIsDebugging(false); WinBoLLActivityManager.init(this); + + // 初始化 AES 主题工具(注入当前应用命名空间的主题ID列表,按 ThemeType.ordinal() 顺序) + ArrayList themeStyleList = new ArrayList(); + themeStyleList.add(R.style.MyAppTheme); // AES(0) + themeStyleList.add(R.style.MyDepthAppTheme); // DEPTH(1) + themeStyleList.add(R.style.MySkyAppTheme); // SKY(2) + themeStyleList.add(R.style.MyGoldenAppTheme); // GOLDEN(3) + themeStyleList.add(R.style.MyBearingAppTheme); // BEARING(4) + themeStyleList.add(R.style.MyMemorAppTheme); // MEMOR(5) + themeStyleList.add(R.style.MyTaoAppTheme); // TAO(6) + AESThemeUtil.init(themeStyleList); // 初始化 Toast 框架 ToastUtils.init(this); diff --git a/winboll/src/main/java/cc/winboll/studio/winboll/activities/PatternLockActivity.java b/winboll/src/main/java/cc/winboll/studio/winboll/activities/PatternLockActivity.java index 6581c20..a52414f 100644 --- a/winboll/src/main/java/cc/winboll/studio/winboll/activities/PatternLockActivity.java +++ b/winboll/src/main/java/cc/winboll/studio/winboll/activities/PatternLockActivity.java @@ -14,7 +14,6 @@ import android.os.Looper; import android.view.MotionEvent; import android.widget.FrameLayout; import androidx.appcompat.widget.Toolbar; -import cc.winboll.studio.libaes.utils.AESThemeUtil; import cc.winboll.studio.libaes.utils.WinBoLLActivityManager; import cc.winboll.studio.winboll.R; @@ -57,7 +56,6 @@ public class PatternLockActivity extends BaseWinBoLLActivity { @Override protected void onCreate(Bundle savedInstanceState) { - AESThemeUtil.applyAppTheme(this); super.onCreate(savedInstanceState); setContentView(R.layout.activity_pattern_lock); diff --git a/winboll/src/main/java/cc/winboll/studio/winboll/activities/SettingsActivity.java b/winboll/src/main/java/cc/winboll/studio/winboll/activities/SettingsActivity.java index c7d877d..1dab4e6 100644 --- a/winboll/src/main/java/cc/winboll/studio/winboll/activities/SettingsActivity.java +++ b/winboll/src/main/java/cc/winboll/studio/winboll/activities/SettingsActivity.java @@ -3,7 +3,6 @@ package cc.winboll.studio.winboll.activities; import android.os.Bundle; import android.view.View; import androidx.appcompat.widget.Toolbar; -import cc.winboll.studio.libaes.utils.AESThemeUtil; import cc.winboll.studio.winboll.R; import android.app.Activity; @@ -29,7 +28,6 @@ public class SettingsActivity extends BaseWinBoLLActivity { @Override protected void onCreate(Bundle savedInstanceState) { - AESThemeUtil.applyAppTheme(this); super.onCreate(savedInstanceState); setContentView(R.layout.activity_settings);