summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorzhangshuai <[email protected]>2024-09-04 18:11:56 +0800
committerzhangshuai <[email protected]>2024-09-04 18:11:56 +0800
commitb940421c691c84b2b09133dc89e454e68652a33f (patch)
tree7cd8f006abebaca627c06464bb084456073dcd21 /src
parentc861efd75d14ff5cdd694144c0a9144efc48e1ba (diff)
fix: list dir 添加 文件 size type 等属性
Diffstat (limited to 'src')
-rw-r--r--src/main/java/net/geedge/api/util/AdbUtil.java13
1 files 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<String> list = Arrays.asList(statResult.split("\\s+"));
Collections.reverse(list);
- String fullName = list.get(3).replaceAll("'|`", "");
+ String fullName = list.get(7).replaceAll("'|`", "");
Map<String, Object> 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())