From b940421c691c84b2b09133dc89e454e68652a33f Mon Sep 17 00:00:00 2001 From: zhangshuai Date: Wed, 4 Sep 2024 18:11:56 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20list=20dir=20=E6=B7=BB=E5=8A=A0=20?= =?UTF-8?q?=E6=96=87=E4=BB=B6=20size=20type=20=E7=AD=89=E5=B1=9E=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/net/geedge/api/util/AdbUtil.java | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/main/java/net/geedge/api/util/AdbUtil.java b/src/main/java/net/geedge/api/util/AdbUtil.java index deeef9e..9a72fa6 100644 --- a/src/main/java/net/geedge/api/util/AdbUtil.java +++ b/src/main/java/net/geedge/api/util/AdbUtil.java @@ -306,7 +306,7 @@ public class AdbUtil { } String statFilePath = isDir ? Paths.get(path).resolve(name).toString() : path; - String statCommand = "shell stat -c \"'%N %a %X %Y'\" " + statFilePath; + String statCommand = "shell stat -c \"'%N %A %g %u %s %a %X %Y'\" " + statFilePath; futureList.add( CompletableFuture.supplyAsync(() -> { String statResult = CommandExec.exec(AdbCommandBuilder.builder() @@ -318,15 +318,24 @@ public class AdbUtil { List list = Arrays.asList(statResult.split("\\s+")); Collections.reverse(list); - String fullName = list.get(3).replaceAll("'|`", ""); + String fullName = list.get(7).replaceAll("'|`", ""); Map relMap = T.MapUtil.newHashMap(); relMap.put("name", name); relMap.put("value", T.MapUtil.builder() .put("id", Base32Codec.Base32Encoder.ENCODER.encode(fullName.getBytes())) .put("fullName", fullName) + .put("gid", Long.parseLong(list.get(5))) + .put("uid", Long.parseLong(list.get(4))) + .put("size", Long.parseLong(list.get(3))) .put("permissions", Long.parseLong(list.get(2))) .put("cts", Long.parseLong(list.get(1))) .put("uts", Long.parseLong(list.get(0))) + .put("isDir", list.get(6).startsWith("d")) + .put("isBlk", list.get(6).startsWith("b")) + .put("isFifo", list.get(6).startsWith("p")) + .put("isLink", list.get(6).startsWith("l")) + .put("isReg", list.get(6).startsWith("-")) + .put("isSock", list.get(6).startsWith("s")) .build()); return relMap; }, getThreadPool())