pull/605/head
jhengazuki 4 months ago
parent 05f452012e
commit 1b1667883e
  1. 2
      app/build.gradle
  2. 2
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java
  3. 4
      app/src/main/java/com/fongmi/android/tv/bean/Result.java
  4. 12
      app/src/main/java/com/fongmi/android/tv/model/SiteViewModel.java
  5. 5
      app/src/main/java/com/fongmi/android/tv/player/Source.java
  6. 2
      app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java
  7. 2
      app/src/mobile/java/com/fongmi/android/tv/ui/fragment/CollectFragment.java
  8. 2
      app/src/mobile/java/com/fongmi/android/tv/ui/fragment/TypeFragment.java

@ -74,8 +74,6 @@ android {
lint {
disable 'UnsafeOptInUsageError'
checkReleaseBuilds false
abortOnError false
}
compileOptions {

@ -420,7 +420,7 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List
private void setDetail(Result result) {
if (result.getList().isEmpty()) setEmpty(result.hasMsg());
else setDetail(result.getList().get(0));
else setDetail(result.getVod());
Notify.show(result.getMsg());
}

@ -301,6 +301,10 @@ public class Result implements Parcelable {
return getList().isEmpty() ? Style.rect() : getList().get(0).getStyle(style);
}
public Vod getVod() {
return getList().isEmpty() ? new Vod() : getList().get(0);
}
public Result clear() {
getList().clear();
return this;

@ -150,8 +150,8 @@ public class SiteViewModel extends ViewModel {
SpiderDebug.log("detail", detailContent);
Result result = Result.fromJson(detailContent);
if (result.getList().isEmpty()) return result;
result.getList().get(0).setVodFlags();
Source.get().parse(result.getList().get(0).getVodFlags());
result.getVod().setVodFlags();
Source.get().parse(result.getVod());
return result;
} else if (site.isEmpty() && "push_agent".equals(key)) {
Vod vod = new Vod();
@ -159,7 +159,7 @@ public class SiteViewModel extends ViewModel {
vod.setVodName(id);
vod.setVodPic(ResUtil.getString(R.string.push_image));
vod.setVodFlags(Flag.create(ResUtil.getString(R.string.push), id));
Source.get().parse(vod.getVodFlags());
Source.get().parse(vod);
return Result.vod(vod);
} else {
ArrayMap<String, String> params = new ArrayMap<>();
@ -169,8 +169,8 @@ public class SiteViewModel extends ViewModel {
SpiderDebug.log("detail", detailContent);
Result result = Result.fromType(site.getType(), detailContent);
if (result.getList().isEmpty()) return result;
result.getList().get(0).setVodFlags();
Source.get().parse(result.getList().get(0).getVodFlags());
result.getVod().setVodFlags();
Source.get().parse(result.getVod());
return result;
}
});
@ -253,7 +253,7 @@ public class SiteViewModel extends ViewModel {
}
public Result fetchPic(Site site, Result result) throws Exception {
if (site.getType() > 2 || result.getList().isEmpty() || !result.getList().get(0).getVodPic().isEmpty()) return result;
if (site.getType() > 2 || result.getList().isEmpty() || !result.getVod().getVodPic().isEmpty()) return result;
ArrayList<String> ids = new ArrayList<>();
boolean empty = site.getCategories().isEmpty();
for (Vod item : result.getList()) if (empty || site.getCategories().contains(item.getTypeName())) ids.add(item.getVodId());

@ -6,6 +6,7 @@ import com.fongmi.android.tv.App;
import com.fongmi.android.tv.bean.Episode;
import com.fongmi.android.tv.bean.Flag;
import com.fongmi.android.tv.bean.Result;
import com.fongmi.android.tv.bean.Vod;
import com.fongmi.android.tv.player.extractor.Force;
import com.fongmi.android.tv.player.extractor.JianPian;
import com.fongmi.android.tv.player.extractor.Push;
@ -63,9 +64,9 @@ public class Source {
}
}
public void parse(List<Flag> flags) throws Exception {
public void parse(Vod vod) throws Exception {
try (ExecutorService executor = Executors.newCachedThreadPool()) {
for (Flag flag : flags) {
for (Flag flag : vod.getVodFlags()) {
List<Callable<List<Episode>>> items = new ArrayList<>();
Iterator<Episode> iterator = flag.getEpisodes().iterator();
while (iterator.hasNext()) addCallable(iterator, items);

@ -454,7 +454,7 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo
private void setDetail(Result result) {
mBinding.swipeLayout.setRefreshing(false);
if (result.getList().isEmpty()) setEmpty(result.hasMsg());
else setDetail(result.getList().get(0));
else setDetail(result.getVod());
Notify.show(result.getMsg());
}

@ -144,7 +144,7 @@ public class CollectFragment extends BaseFragment implements MenuProvider, Colle
private void setSearch(Result result) {
if (result == null) return;
mScroller.endLoading(result);
boolean same = !result.getList().isEmpty() && mCollectAdapter.getActivated().getSite().equals(result.getList().get(0).getSite());
boolean same = !result.getList().isEmpty() && mCollectAdapter.getActivated().getSite().equals(result.getVod().getSite());
if (same) mCollectAdapter.getActivated().getList().addAll(result.getList());
if (same) mSearchAdapter.addAll(result.getList());
}

@ -155,7 +155,7 @@ public class TypeFragment extends BaseFragment implements CustomScroller.Callbac
}
private void addVideo(Result result) {
Style style = result.getList().get(0).getStyle(getStyle());
Style style = result.getVod().getStyle(getStyle());
if (!style.equals(mAdapter.getStyle())) setStyle(style);
mAdapter.addAll(result.getList(), this::checkMore);
}

Loading…
Cancel
Save