From 133d06a608811434c8d1888ecc86283dbfae271a Mon Sep 17 00:00:00 2001 From: FongMi Date: Thu, 4 Aug 2022 16:23:34 +0800 Subject: [PATCH] Distinguish player content result --- .../com/fongmi/android/tv/ui/activity/DetailActivity.java | 6 ++++-- .../java/com/fongmi/android/tv/model/SiteViewModel.java | 4 +++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/DetailActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/DetailActivity.java index ac99284f0..8b3bbe45e 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/DetailActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/DetailActivity.java @@ -176,9 +176,11 @@ public class DetailActivity extends BaseActivity implements KeyDown.Listener { private void setViewModel() { mSiteViewModel = new ViewModelProvider(this).get(SiteViewModel.class); + mSiteViewModel.player.observe(this, result -> { + Players.get().setMediaSource(result); + }); mSiteViewModel.result.observe(this, result -> { - if (result.getUrl().length() > 0) Players.get().setMediaSource(result); - else if (result.getList().isEmpty()) mBinding.progressLayout.showErrorText(); + if (result.getList().isEmpty()) mBinding.progressLayout.showErrorText(); else setDetail(result.getList().get(0)); }); } 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 b7c3c71bf..3fb572404 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 @@ -23,10 +23,12 @@ import okhttp3.HttpUrl; public class SiteViewModel extends ViewModel { public MutableLiveData result; + public MutableLiveData player; public ExecutorService service; public SiteViewModel() { this.result = new MutableLiveData<>(); + this.player = new MutableLiveData<>(); } public MutableLiveData getResult() { @@ -101,7 +103,7 @@ public class SiteViewModel extends ViewModel { public void playerContent(String key, String flag, String id) { Site site = ApiConfig.get().getSite(key); - execute(result, () -> { + execute(player, () -> { if (site.getType() == 3) { Spider spider = ApiConfig.get().getCSP(site); String playerContent = spider.playerContent(flag, id, ApiConfig.get().getFlags());