From 02d4cee0bdbc1ea67fcb285ce0f620e3dbb5338f Mon Sep 17 00:00:00 2001 From: jhengazuji Date: Sun, 16 Nov 2025 11:35:54 +0800 Subject: [PATCH] Clean code --- .../android/tv/api/config/LiveConfig.java | 11 +++---- .../android/tv/api/config/VodConfig.java | 29 +++++++------------ .../java/com/fongmi/android/tv/bean/Live.java | 6 ---- .../com/fongmi/android/tv/bean/Parse.java | 6 ---- .../java/com/fongmi/android/tv/bean/Site.java | 6 ---- .../fongmi/android/tv/player/ParseJob.java | 2 +- 6 files changed, 15 insertions(+), 45 deletions(-) diff --git a/app/src/main/java/com/fongmi/android/tv/api/config/LiveConfig.java b/app/src/main/java/com/fongmi/android/tv/api/config/LiveConfig.java index 2f377c420..2f5f53be3 100644 --- a/app/src/main/java/com/fongmi/android/tv/api/config/LiveConfig.java +++ b/app/src/main/java/com/fongmi/android/tv/api/config/LiveConfig.java @@ -199,12 +199,10 @@ public class LiveConfig { private void initLive(Config config, JsonObject object) { String spider = Json.safeString(object, "spider"); BaseLoader.get().parseJar(spider, false); - setLives(Json.safeListElement(object, "lives").stream().map(element -> Live.objectFrom(element, spider)).distinct().collect(Collectors.toCollection(ArrayList::new))); - if (getLives().isEmpty()) return; + setLives(Json.safeListElement(object, "lives").stream().map(e -> Live.objectFrom(e, spider)).distinct().collect(Collectors.toCollection(ArrayList::new))); Map items = Live.findAll().stream().collect(Collectors.toMap(Live::getName, Function.identity())); - for (Live live : getLives()) live.sync(items.get(live.getName())); - int index = getLives().indexOf(Live.get(config.getHome())); - setHome(config, index != -1 ? getLives().get(index) : getLives().get(0), false); + getLives().forEach(live -> live.sync(items.get(live.getName()))); + setHome(config, getLives().isEmpty() ? new Live() : getLives().stream().filter(item -> item.getName().equals(config.getHome())).findFirst().orElse(getLives().get(0)), false); } private void bootLive() { @@ -303,8 +301,7 @@ public class LiveConfig { } public Live getLive(String key) { - int index = getLives().indexOf(Live.get(key)); - return index == -1 ? new Live() : getLives().get(index); + return getLives().stream().filter(item -> item.getName().equals(key)).findFirst().orElse(new Live()); } public void setHome(Live home) { diff --git a/app/src/main/java/com/fongmi/android/tv/api/config/VodConfig.java b/app/src/main/java/com/fongmi/android/tv/api/config/VodConfig.java index 14cd49329..d7a8c7c5f 100644 --- a/app/src/main/java/com/fongmi/android/tv/api/config/VodConfig.java +++ b/app/src/main/java/com/fongmi/android/tv/api/config/VodConfig.java @@ -191,19 +191,15 @@ public class VodConfig { private void initSite(Config config, JsonObject object) { String spider = Json.safeString(object, "spider"); BaseLoader.get().parseJar(spider, true); - setSites(Json.safeListElement(object, "sites").stream().map(element -> Site.objectFrom(element, spider)).distinct().collect(Collectors.toCollection(ArrayList::new))); - if (getSites().isEmpty()) return; + setSites(Json.safeListElement(object, "sites").stream().map(e -> Site.objectFrom(e, spider)).distinct().collect(Collectors.toCollection(ArrayList::new))); Map items = Site.findAll().stream().collect(Collectors.toMap(Site::getKey, Function.identity())); - for (Site site : getSites()) site.sync(items.get(site.getKey())); - int index = getSites().indexOf(Site.get(config.getHome())); - setHome(config, index != -1 ? getSites().get(index) : getSites().get(0), false); + getSites().forEach(site -> site.sync(items.get(site.getKey()))); + setHome(config, getSites().isEmpty() ? new Site() : getSites().stream().filter(item -> item.getKey().equals(config.getHome())).findFirst().orElse(getSites().get(0)), false); } private void initParse(Config config, JsonObject object) { setParses(Json.safeListElement(object, "parses").stream().map(Parse::objectFrom).distinct().collect(Collectors.toCollection(ArrayList::new))); - if (getParses().isEmpty()) return; - int index = getParses().indexOf(Parse.get(config.getParse())); - setParse(config, index != -1 ? getParses().get(index) : getParses().get(0), false); + setParse(config, getParses().isEmpty() ? new Parse() : getParses().stream().filter(item -> item.getName().equals(config.getParse())).findFirst().orElse(getParses().get(0)), false); } public List getSites() { @@ -244,16 +240,13 @@ public class VodConfig { } public List getParses(int type) { - List items = new ArrayList<>(); - for (Parse item : getParses()) if (item.getType() == type) items.add(item); - return items; + return getParses().stream().filter(item -> item.getType() == type).collect(Collectors.toList()); } public List getParses(int type, String flag) { - List items = new ArrayList<>(); - for (Parse item : getParses(type)) if (item.getExt().getFlag().contains(flag)) items.add(item); - if (items.isEmpty()) items.addAll(getParses(type)); - return items; + List items = getParses(type); + List filter = items.stream().filter(item -> item.getExt().getFlag().contains(flag)).collect(Collectors.toList()); + return filter.isEmpty() ? items : filter; } private void setHeaders(List
headers) { @@ -302,13 +295,11 @@ public class VodConfig { } public Parse getParse(String name) { - int index = getParses().indexOf(Parse.get(name)); - return index == -1 ? null : getParses().get(index); + return getParses().stream().filter(item -> item.getName().equals(name)).findFirst().orElse(new Parse()); } public Site getSite(String key) { - int index = getSites().indexOf(Site.get(key)); - return index == -1 ? new Site() : getSites().get(index); + return getSites().stream().filter(item -> item.getKey().equals(key)).findFirst().orElse(new Site()); } public void setParse(Parse parse) { diff --git a/app/src/main/java/com/fongmi/android/tv/bean/Live.java b/app/src/main/java/com/fongmi/android/tv/bean/Live.java index 72c3649e6..34c3f412e 100644 --- a/app/src/main/java/com/fongmi/android/tv/bean/Live.java +++ b/app/src/main/java/com/fongmi/android/tv/bean/Live.java @@ -128,12 +128,6 @@ public class Live { } } - public static Live get(String name) { - Live live = new Live(); - live.setName(name); - return live; - } - public Live() { } diff --git a/app/src/main/java/com/fongmi/android/tv/bean/Parse.java b/app/src/main/java/com/fongmi/android/tv/bean/Parse.java index 546c81683..9e0885e81 100644 --- a/app/src/main/java/com/fongmi/android/tv/bean/Parse.java +++ b/app/src/main/java/com/fongmi/android/tv/bean/Parse.java @@ -38,12 +38,6 @@ public class Parse implements Diffable { return App.gson().fromJson(element, Parse.class); } - public static Parse get(String name) { - Parse parse = new Parse(); - parse.setName(name); - return parse; - } - public static Parse get(Integer type, String url) { Parse parse = new Parse(); parse.setType(type); diff --git a/app/src/main/java/com/fongmi/android/tv/bean/Site.java b/app/src/main/java/com/fongmi/android/tv/bean/Site.java index fa22762b8..62bf4414c 100644 --- a/app/src/main/java/com/fongmi/android/tv/bean/Site.java +++ b/app/src/main/java/com/fongmi/android/tv/bean/Site.java @@ -116,12 +116,6 @@ public class Site implements Parcelable { } } - public static Site get(String key) { - Site site = new Site(); - site.setKey(key); - return site; - } - public static Site get(String key, String name) { Site site = new Site(); site.setKey(key); diff --git a/app/src/main/java/com/fongmi/android/tv/player/ParseJob.java b/app/src/main/java/com/fongmi/android/tv/player/ParseJob.java index 7f5ec7e3d..a1a6c5901 100644 --- a/app/src/main/java/com/fongmi/android/tv/player/ParseJob.java +++ b/app/src/main/java/com/fongmi/android/tv/player/ParseJob.java @@ -62,7 +62,7 @@ public class ParseJob implements ParseCallback { if (useParse) parse = VodConfig.get().getParse(); if (result.getPlayUrl().startsWith("json:")) parse = Parse.get(1, result.getPlayUrl().substring(5)); if (result.getPlayUrl().startsWith("parse:")) parse = VodConfig.get().getParse(result.getPlayUrl().substring(6)); - if (parse == null || parse.isEmpty()) parse = Parse.get(0, result.getPlayUrl()); + if (parse.isEmpty()) parse = Parse.get(0, result.getPlayUrl()); parse.setHeader(result.getHeader()); parse.setClick(getClick(result)); }