From 59985eced54263b0b3cd1f30b4ed877cba932141 Mon Sep 17 00:00:00 2001 From: FongMi Date: Tue, 8 Apr 2025 22:47:26 +0800 Subject: [PATCH] Update webdav format --- .../com/github/catvod/bean/webdav/Drive.java | 14 ++++----- .../java/com/github/catvod/spider/WebDAV.java | 3 +- json/webdav.json | 30 +++++++++---------- 3 files changed, 20 insertions(+), 27 deletions(-) diff --git a/app/src/main/java/com/github/catvod/bean/webdav/Drive.java b/app/src/main/java/com/github/catvod/bean/webdav/Drive.java index c9d74610..4f2501f2 100644 --- a/app/src/main/java/com/github/catvod/bean/webdav/Drive.java +++ b/app/src/main/java/com/github/catvod/bean/webdav/Drive.java @@ -8,17 +8,16 @@ import com.github.catvod.bean.Vod; import com.github.catvod.utils.Util; import com.google.gson.Gson; import com.google.gson.annotations.SerializedName; +import com.google.gson.reflect.TypeToken; import com.thegrizzlylabs.sardineandroid.DavResource; import com.thegrizzlylabs.sardineandroid.Sardine; import com.thegrizzlylabs.sardineandroid.impl.OkHttpSardine; -import java.util.ArrayList; +import java.lang.reflect.Type; import java.util.List; public class Drive { - @SerializedName("drives") - private List drives; @SerializedName("name") private String name; @SerializedName("server") @@ -32,18 +31,15 @@ public class Drive { @SerializedName("webdav") private Sardine webdav; - public static Drive objectFrom(String str) { - return new Gson().fromJson(str, Drive.class); + public static List arrayFrom(String str) { + Type listType = new TypeToken>() {}.getType(); + return new Gson().fromJson(str, listType); } public Drive(String name) { this.name = name; } - public List getDrives() { - return drives == null ? new ArrayList<>() : drives; - } - public String getName() { return TextUtils.isEmpty(name) ? "" : name; } diff --git a/app/src/main/java/com/github/catvod/spider/WebDAV.java b/app/src/main/java/com/github/catvod/spider/WebDAV.java index e5767290..fdcef656 100644 --- a/app/src/main/java/com/github/catvod/spider/WebDAV.java +++ b/app/src/main/java/com/github/catvod/spider/WebDAV.java @@ -42,8 +42,7 @@ public class WebDAV extends Spider { private void fetchRule() { if (drives != null && !drives.isEmpty()) return; if (extend.startsWith("http")) extend = OkHttp.string(extend); - Drive drive = Drive.objectFrom(extend); - drives = drive.getDrives(); + drives = Drive.arrayFrom(extend); } private String getExt(DavResource item) { diff --git a/json/webdav.json b/json/webdav.json index a1a19255..d4591293 100644 --- a/json/webdav.json +++ b/json/webdav.json @@ -1,16 +1,14 @@ -{ - "drives": [ - { - "name": "七米藍", - "server": "https://al.chirmyram.com/dav", - "user": "alist", - "pass": "alist" - }, - { - "name": "影視庫", - "server": "https://esir.eu.org/dav", - "user": "alist", - "pass": "alist" - } - ] -} \ No newline at end of file +[ + { + "name": "七米藍", + "server": "https://al.chirmyram.com/dav", + "user": "alist", + "pass": "alist" + }, + { + "name": "影視庫", + "server": "https://esir.eu.org/dav", + "user": "alist", + "pass": "alist" + } +] \ No newline at end of file