@@ -9,15 +9,10 @@ import com.omarea.krscript.executor.ScriptEnvironmen
99import com.omarea.krscript.model.NodeInfoBase
1010import com.omarea.krscript.model.PageNode
1111import java.io.ByteArrayInputStream
12- import java.io.File
1312
1413class PageConfigSh (private var activity : Activity , private var pageConfigSh : String , private var parentConfig : PageNode ? ) {
1514 private var handler = Handler (Looper .getMainLooper())
1615
17- companion object {
18- private const val ASSETS_FILE = " file:///android_asset/"
19- }
20-
2116 private fun pageConfigShError (content : String ) {
2217 handler.post {
2318 Toast .makeText(activity, activity.getString(R .string.kr_page_sh_invalid) + " \n " + content, Toast .LENGTH_LONG ).show()
@@ -30,39 +25,7 @@ class PageConfigSh(private var activity: Activity, private var pageConfigSh: Str
3025 }
3126 }
3227
33- /* *
34- * Kiểm tra xem script có thực sự tồn tại hay không trước khi chạy.
35- * - Nếu là đường dẫn asset (file:///android_asset/...) -> kiểm tra bằng AssetManager (rất nhanh, không tốn root).
36- * - Nếu là đường dẫn tệp thật (bắt đầu bằng "/") -> kiểm tra bằng File.exists() (không tốn root).
37- * - Nếu không phải là đường dẫn (ví dụ là nội dung lệnh shell viết trực tiếp trong cấu hình)
38- * thì coi như hợp lệ, giữ nguyên hành vi cũ.
39- */
40- private fun scriptFileExists (path : String ): Boolean {
41- return when {
42- path.startsWith(ASSETS_FILE ) -> {
43- try {
44- activity.assets.open(path.substring(ASSETS_FILE .length)).use { true }
45- } catch (ex: Exception ) {
46- false
47- }
48- }
49- path.startsWith(" /" ) -> File (path).exists()
50- else -> true
51- }
52- }
53-
5428 fun execute (): ArrayList <NodeInfoBase >? {
55- // val script = pageConfigSh.trim()
56- // if (script.isEmpty()) {
57- // return null
58- // }
59-
60- // Nếu script được khai báo là 1 đường dẫn tệp cụ thể nhưng tệp đó không tồn tại
61- // thì dừng ngay tại đây, không chạy root/shell -> tránh tốn thời gian cho tab không có tệp thật.
62- if (! scriptFileExists(script)) {
63- return null
64- }
65-
6629 var items: ArrayList <NodeInfoBase >? = null
6730
6831 val result = ScriptEnvironmen .executeResultRoot(activity, pageConfigSh, parentConfig)?.trim()
0 commit comments