From 61ebf9be6a23221c77b63a1dd825376ffbfbf572 Mon Sep 17 00:00:00 2001 From: FongMi Date: Mon, 27 Jun 2022 16:55:24 +0800 Subject: [PATCH] Fix home content some error problem --- app/src/main/java/com/fongmi/bear/ApiConfig.java | 4 ++-- .../main/java/com/fongmi/bear/bean/Result.java | 3 ++- .../com/fongmi/bear/model/SiteViewModel.java | 14 ++++++++++---- .../com/github/catvod/crawler/SpiderDebug.java | 16 ++++++++++++++++ 4 files changed, 30 insertions(+), 7 deletions(-) create mode 100644 app/src/main/java/com/github/catvod/crawler/SpiderDebug.java diff --git a/app/src/main/java/com/fongmi/bear/ApiConfig.java b/app/src/main/java/com/fongmi/bear/ApiConfig.java index 59ff0bd6e..eb0625963 100644 --- a/app/src/main/java/com/fongmi/bear/ApiConfig.java +++ b/app/src/main/java/com/fongmi/bear/ApiConfig.java @@ -79,13 +79,13 @@ public class ApiConfig { loadJar(); handler.post(callback::success); } catch (Exception e) { - handler.post(() -> callback.error("解析配置失敗")); + handler.post(() -> callback.error("配置解析失敗")); } } @Override public void onFailure(@NonNull Call call, @NonNull IOException e) { - handler.post(() -> callback.error("取得配置失敗")); + handler.post(() -> callback.error("配置取得失敗")); } }); } diff --git a/app/src/main/java/com/fongmi/bear/bean/Result.java b/app/src/main/java/com/fongmi/bear/bean/Result.java index 6fc1684a0..5083eb814 100644 --- a/app/src/main/java/com/fongmi/bear/bean/Result.java +++ b/app/src/main/java/com/fongmi/bear/bean/Result.java @@ -12,7 +12,8 @@ public class Result { private List list; public static Result objectFrom(String str) { - return new Gson().fromJson(str, Result.class); + Result result = new Gson().fromJson(str, Result.class); + return result == null ? new Result() : result; } public List getList() { diff --git a/app/src/main/java/com/fongmi/bear/model/SiteViewModel.java b/app/src/main/java/com/fongmi/bear/model/SiteViewModel.java index ee9664c3f..b8b0cc6dd 100644 --- a/app/src/main/java/com/fongmi/bear/model/SiteViewModel.java +++ b/app/src/main/java/com/fongmi/bear/model/SiteViewModel.java @@ -7,6 +7,7 @@ import com.fongmi.bear.ApiConfig; import com.fongmi.bear.bean.Result; import com.fongmi.bear.bean.Site; import com.github.catvod.crawler.Spider; +import com.github.catvod.crawler.SpiderDebug; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; @@ -22,12 +23,17 @@ public class SiteViewModel extends ViewModel { public void homeContent(String key) { Site site = ApiConfig.get().getSite(key); - int type = site.getType(); - if (type == 3) { + if (site.getType() == 3) { mService.execute(() -> { Spider spider = ApiConfig.get().getCSP(site); - Result result = Result.objectFrom(spider.homeContent(false)); - if (result.getList().isEmpty()) result = Result.objectFrom(spider.homeVideoContent()); + String homeContent = spider.homeContent(false); + SpiderDebug.log(homeContent); + Result result = Result.objectFrom(homeContent); + if (result.getList().isEmpty()) { + String homeVideoContent = spider.homeVideoContent(); + SpiderDebug.log(homeVideoContent); + result = Result.objectFrom(homeVideoContent); + } mResult.postValue(result); }); } diff --git a/app/src/main/java/com/github/catvod/crawler/SpiderDebug.java b/app/src/main/java/com/github/catvod/crawler/SpiderDebug.java new file mode 100644 index 000000000..a81d4ae71 --- /dev/null +++ b/app/src/main/java/com/github/catvod/crawler/SpiderDebug.java @@ -0,0 +1,16 @@ +package com.github.catvod.crawler; + +import com.orhanobut.logger.Logger; + +public class SpiderDebug { + + private static final String TAG = SpiderDebug.class.getSimpleName(); + + public static void log(Throwable th) { + Logger.t(TAG).d(th.getMessage()); + } + + public static void log(String msg) { + Logger.t(TAG).d(msg); + } +}