fix: 修复主题切换时 IndexOutOfBoundsException 崩溃
- App.onCreate() 中调用 AESThemeUtil.init() 注入当前应用的 R.style.* 主题ID列表(按 ThemeType.ordinal() 顺序排列), 避免 Jitpack AESThemeUtil 内部 ArrayList 为空导致越界崩溃 - PatternLockActivity / SettingsActivity 删除冗余的 AESThemeUtil.applyAppTheme(this) 调用(父类 BaseWinBoLLActivity 已在 onCreate 中通过 setThemeStyle() 处理主题设置)
This commit is contained in:
@@ -40,7 +40,9 @@ import java.util.Arrays;
|
|||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.LinkedHashMap;
|
import java.util.LinkedHashMap;
|
||||||
import java.util.concurrent.atomic.AtomicBoolean;
|
import java.util.concurrent.atomic.AtomicBoolean;
|
||||||
|
import cc.winboll.studio.libaes.utils.AESThemeUtil;
|
||||||
import cc.winboll.studio.libaes.utils.WinBoLLActivityManager;
|
import cc.winboll.studio.libaes.utils.WinBoLLActivityManager;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
public class App extends GlobalApplication {
|
public class App extends GlobalApplication {
|
||||||
|
|
||||||
@@ -63,6 +65,17 @@ public class App extends GlobalApplication {
|
|||||||
|
|
||||||
WinBoLLActivityManager.init(this);
|
WinBoLLActivityManager.init(this);
|
||||||
|
|
||||||
|
// 初始化 AES 主题工具(注入当前应用命名空间的主题ID列表,按 ThemeType.ordinal() 顺序)
|
||||||
|
ArrayList<Integer> themeStyleList = new ArrayList<Integer>();
|
||||||
|
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 框架
|
// 初始化 Toast 框架
|
||||||
ToastUtils.init(this);
|
ToastUtils.init(this);
|
||||||
// 设置 Toast 布局样式
|
// 设置 Toast 布局样式
|
||||||
|
|||||||
@@ -14,7 +14,6 @@ import android.os.Looper;
|
|||||||
import android.view.MotionEvent;
|
import android.view.MotionEvent;
|
||||||
import android.widget.FrameLayout;
|
import android.widget.FrameLayout;
|
||||||
import androidx.appcompat.widget.Toolbar;
|
import androidx.appcompat.widget.Toolbar;
|
||||||
import cc.winboll.studio.libaes.utils.AESThemeUtil;
|
|
||||||
import cc.winboll.studio.libaes.utils.WinBoLLActivityManager;
|
import cc.winboll.studio.libaes.utils.WinBoLLActivityManager;
|
||||||
import cc.winboll.studio.winboll.R;
|
import cc.winboll.studio.winboll.R;
|
||||||
|
|
||||||
@@ -57,7 +56,6 @@ public class PatternLockActivity extends BaseWinBoLLActivity {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
AESThemeUtil.applyAppTheme(this);
|
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
setContentView(R.layout.activity_pattern_lock);
|
setContentView(R.layout.activity_pattern_lock);
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,6 @@ package cc.winboll.studio.winboll.activities;
|
|||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import androidx.appcompat.widget.Toolbar;
|
import androidx.appcompat.widget.Toolbar;
|
||||||
import cc.winboll.studio.libaes.utils.AESThemeUtil;
|
|
||||||
import cc.winboll.studio.winboll.R;
|
import cc.winboll.studio.winboll.R;
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
|
|
||||||
@@ -29,7 +28,6 @@ public class SettingsActivity extends BaseWinBoLLActivity {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
AESThemeUtil.applyAppTheme(this);
|
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
setContentView(R.layout.activity_settings);
|
setContentView(R.layout.activity_settings);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user