@@ -132,6 +132,8 @@ class MainActivity : AppCompatActivity() {
132132 val tab4Items = getItems(krScriptConfig.customTab4Config)
133133
134134 withContext(Dispatchers .Main ) {
135+ if (! isActive || isFinishing) return @withContext
136+
135137 if (! favorites.isNullOrEmpty()) (adapter.getFragment(0 ) as ? ActionListFragment )?.updateData(favorites, getKrScriptActionHandler(krScriptConfig.favoriteConfig, true ), ThemeModeState .getThemeMode())
136138 if (! pages.isNullOrEmpty()) (adapter.getFragment(1 ) as ? ActionListFragment )?.updateData(pages, getKrScriptActionHandler(krScriptConfig.pageListConfig, false ), ThemeModeState .getThemeMode())
137139 if (! tab3Items.isNullOrEmpty()) (adapter.getFragment(2 ) as ? ActionListFragment )?.updateData(tab3Items, getKrScriptActionHandler(krScriptConfig.customTab3Config, false ), ThemeModeState .getThemeMode())
@@ -169,12 +171,20 @@ class MainActivity : AppCompatActivity() {
169171 * Lấy danh sách item từ cấu hình trang.
170172 * Đã thêm kiểm tra null-safety để tránh NullPointerException.
171173 */
172- private fun getItems (pageNode : PageNode ): ArrayList <NodeInfoBase >? {
174+ private fun getItems (pageNode : PageNode ? ): ArrayList <NodeInfoBase >? {
175+ if (pageNode == null ) return null
176+
173177 var items: ArrayList <NodeInfoBase >? = null
174- if (pageNode.pageConfigSh.isNotEmpty())
178+
179+ // Sử dụng ?. để truy cập thuộc tính an toàn
180+ if (pageNode.pageConfigSh?.isNotEmpty() == true ) {
175181 items = PageConfigSh (this , pageNode.pageConfigSh, null ).execute()
176- if (items == null && pageNode.pageConfigPath.isNotEmpty())
182+ }
183+
184+ if (items == null && pageNode.pageConfigPath?.isNotEmpty() == true ) {
177185 items = PageConfigReader (this .applicationContext, pageNode.pageConfigPath, null ).readConfigXml()
186+ }
187+
178188 return items
179189 }
180190
0 commit comments