From bf92185d3888a77368b04e7867257a0ed8fe111b Mon Sep 17 00:00:00 2001 From: tiann Date: Sun, 1 Jan 2023 19:13:57 +0800 Subject: [PATCH] manager: fix module crash --- .../kernelsu/ui/viewmodel/ModuleViewModel.kt | 35 +++++++++++-------- 1 file changed, 20 insertions(+), 15 deletions(-) diff --git a/manager/app/src/main/java/me/weishu/kernelsu/ui/viewmodel/ModuleViewModel.kt b/manager/app/src/main/java/me/weishu/kernelsu/ui/viewmodel/ModuleViewModel.kt index 3dfe41c1..caebdb2b 100644 --- a/manager/app/src/main/java/me/weishu/kernelsu/ui/viewmodel/ModuleViewModel.kt +++ b/manager/app/src/main/java/me/weishu/kernelsu/ui/viewmodel/ModuleViewModel.kt @@ -58,21 +58,26 @@ class ModuleViewModel : ViewModel() { Log.i(TAG, "result: $result") - val array = JSONArray(result) - modules = (0 until array.length()) - .asSequence() - .map { array.getJSONObject(it) } - .map { obj -> - ModuleInfo( - obj.getString("id"), - obj.getString("name"), - obj.getString("author"), - obj.getString("version"), - obj.getInt("versionCode"), - obj.getString("description"), - obj.getBoolean("enabled") - ) - }.toList() + kotlin.runCatching { + val array = JSONArray(result) + modules = (0 until array.length()) + .asSequence() + .map { array.getJSONObject(it) } + .map { obj -> + ModuleInfo( + obj.getString("id"), + obj.getString("name"), + obj.getString("author"), + obj.getString("version"), + obj.getInt("versionCode"), + obj.getString("description"), + obj.getBoolean("enabled") + ) + }.toList() + }.onFailure { e -> + Log.e(TAG, "fetchModuleList: ", e) + } + Log.i(TAG, "load cost: ${SystemClock.elapsedRealtime() - start}, modules: $modules") }