diff --git a/app/build.gradle b/app/build.gradle index 0cce43950..88fa8785b 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -12,8 +12,8 @@ android { minSdk 24 //noinspection ExpiredTargetSdkVersion targetSdk 28 - versionCode 497 - versionName "4.9.7" + versionCode 498 + versionName "4.9.8" javaCompileOptions { annotationProcessorOptions { arguments = ["room.schemaLocation": "$projectDir/schemas".toString(), "eventBusIndex": "com.fongmi.android.tv.event.EventIndex"] diff --git a/app/src/main/java/com/fongmi/android/tv/model/SiteViewModel.java b/app/src/main/java/com/fongmi/android/tv/model/SiteViewModel.java index 1ab23ec32..2717b643f 100644 --- a/app/src/main/java/com/fongmi/android/tv/model/SiteViewModel.java +++ b/app/src/main/java/com/fongmi/android/tv/model/SiteViewModel.java @@ -90,7 +90,7 @@ public class SiteViewModel extends ViewModel { Prefers.put("crash", false); SpiderDebug.log("home", homeContent); Result result = Result.fromJson(homeContent); - if (!result.getList().isEmpty()) return result; + if (!result.getList().isEmpty()) return setTypes(site, result); String homeVideoContent = spider.homeVideoContent(); SpiderDebug.log("homeVideo", homeVideoContent); result.setList(Result.fromJson(homeVideoContent).getList()); @@ -105,7 +105,8 @@ public class SiteViewModel extends ViewModel { try (Response response = OkHttp.newCall(site.getApi(), site.getHeader()).execute()) { String homeContent = response.body().string(); SpiderDebug.log("home", homeContent); - return setTypes(site, fetchPic(site, Result.fromType(site.getType(), homeContent))); + Result result = Result.fromType(site.getType(), homeContent); + return setTypes(site, fetchPic(site, result)); } } }); @@ -260,8 +261,8 @@ public class SiteViewModel extends ViewModel { } private Result setTypes(Site site, Result result) { - List types = site.getCategories().stream().flatMap(cate -> result.getTypes().stream().filter(type -> cate.equals(type.getTypeName()))).collect(Collectors.toCollection(ArrayList::new)); result.getTypes().stream().filter(type -> result.getFilters().containsKey(type.getTypeId())).forEach(type -> type.setFilters(result.getFilters().get(type.getTypeId()))); + List types = site.getCategories().stream().flatMap(cate -> result.getTypes().stream().filter(type -> cate.equals(type.getTypeName()))).toList(); if (!types.isEmpty()) result.setTypes(types); return result; }