|
|
|
|
@ -64,7 +64,7 @@ import com.fongmi.android.tv.ui.adapter.EpisodeAdapter; |
|
|
|
|
import com.fongmi.android.tv.ui.adapter.FlagAdapter; |
|
|
|
|
import com.fongmi.android.tv.ui.adapter.ParseAdapter; |
|
|
|
|
import com.fongmi.android.tv.ui.adapter.QuickAdapter; |
|
|
|
|
import com.fongmi.android.tv.ui.adapter.UrlAdapter; |
|
|
|
|
import com.fongmi.android.tv.ui.adapter.QualityAdapter; |
|
|
|
|
import com.fongmi.android.tv.ui.base.BaseActivity; |
|
|
|
|
import com.fongmi.android.tv.ui.base.ViewType; |
|
|
|
|
import com.fongmi.android.tv.ui.custom.CustomKeyDownVod; |
|
|
|
|
@ -99,7 +99,7 @@ import java.util.concurrent.Executors; |
|
|
|
|
|
|
|
|
|
import tv.danmaku.ijk.media.player.ui.IjkVideoView; |
|
|
|
|
|
|
|
|
|
public class DetailActivity extends BaseActivity implements Clock.Callback, CustomKeyDownVod.Listener, CastDialog.Listener, PiPReceiver.Listener, TrackDialog.Listener, ControlDialog.Listener, FlagAdapter.OnClickListener, EpisodeAdapter.OnClickListener, UrlAdapter.OnClickListener, QuickAdapter.OnClickListener, ParseAdapter.OnClickListener { |
|
|
|
|
public class DetailActivity extends BaseActivity implements Clock.Callback, CustomKeyDownVod.Listener, CastDialog.Listener, PiPReceiver.Listener, TrackDialog.Listener, ControlDialog.Listener, FlagAdapter.OnClickListener, EpisodeAdapter.OnClickListener, QualityAdapter.OnClickListener, QuickAdapter.OnClickListener, ParseAdapter.OnClickListener { |
|
|
|
|
|
|
|
|
|
private ViewGroup.LayoutParams mFrameParams; |
|
|
|
|
private Observer<Result> mObserveDetail; |
|
|
|
|
@ -107,6 +107,7 @@ public class DetailActivity extends BaseActivity implements Clock.Callback, Cust |
|
|
|
|
private Observer<Result> mObserveSearch; |
|
|
|
|
private ActivityDetailBinding mBinding; |
|
|
|
|
private EpisodeAdapter mEpisodeAdapter; |
|
|
|
|
private QualityAdapter mQualityAdapter; |
|
|
|
|
private ControlDialog mControlDialog; |
|
|
|
|
private QuickAdapter mQuickAdapter; |
|
|
|
|
private ParseAdapter mParseAdapter; |
|
|
|
|
@ -114,7 +115,6 @@ public class DetailActivity extends BaseActivity implements Clock.Callback, Cust |
|
|
|
|
private ExecutorService mExecutor; |
|
|
|
|
private SiteViewModel mViewModel; |
|
|
|
|
private FlagAdapter mFlagAdapter; |
|
|
|
|
private UrlAdapter mUrlAdapter; |
|
|
|
|
private PiPReceiver mReceiver; |
|
|
|
|
private List<Dialog> mDialogs; |
|
|
|
|
private List<String> mBroken; |
|
|
|
|
@ -315,10 +315,6 @@ public class DetailActivity extends BaseActivity implements Clock.Callback, Cust |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void setRecyclerView() { |
|
|
|
|
mBinding.url.setHasFixedSize(true); |
|
|
|
|
mBinding.url.setItemAnimator(null); |
|
|
|
|
mBinding.url.addItemDecoration(new SpaceItemDecoration(8)); |
|
|
|
|
mBinding.url.setAdapter(mUrlAdapter = new UrlAdapter(this)); |
|
|
|
|
mBinding.flag.setHasFixedSize(true); |
|
|
|
|
mBinding.flag.setItemAnimator(null); |
|
|
|
|
mBinding.flag.addItemDecoration(new SpaceItemDecoration(8)); |
|
|
|
|
@ -328,6 +324,10 @@ public class DetailActivity extends BaseActivity implements Clock.Callback, Cust |
|
|
|
|
mBinding.episode.setItemAnimator(null); |
|
|
|
|
mBinding.episode.addItemDecoration(new SpaceItemDecoration(8)); |
|
|
|
|
mBinding.episode.setAdapter(mEpisodeAdapter = new EpisodeAdapter(this, ViewType.LIST)); |
|
|
|
|
mBinding.quality.setHasFixedSize(true); |
|
|
|
|
mBinding.quality.setItemAnimator(null); |
|
|
|
|
mBinding.quality.addItemDecoration(new SpaceItemDecoration(8)); |
|
|
|
|
mBinding.quality.setAdapter(mQualityAdapter = new QualityAdapter(this)); |
|
|
|
|
mBinding.control.parse.setHasFixedSize(true); |
|
|
|
|
mBinding.control.parse.setItemAnimator(null); |
|
|
|
|
mBinding.control.parse.addItemDecoration(new SpaceItemDecoration(8)); |
|
|
|
|
@ -464,14 +464,15 @@ public class DetailActivity extends BaseActivity implements Clock.Callback, Cust |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void setPlayer(Result result) { |
|
|
|
|
result.getUrl().set(mUrlAdapter.getPosition()); |
|
|
|
|
result.getUrl().set(mQualityAdapter.getPosition()); |
|
|
|
|
setUseParse(ApiConfig.hasParse() && ((result.getPlayUrl().isEmpty() && ApiConfig.get().getFlags().contains(result.getFlag())) || result.getJx() == 1)); |
|
|
|
|
if (mControlDialog != null && mControlDialog.isVisible()) mControlDialog.setParseVisible(isUseParse()); |
|
|
|
|
mBinding.control.parse.setVisibility(isFullscreen() && isUseParse() ? View.VISIBLE : View.GONE); |
|
|
|
|
mPlayers.start(result, isUseParse(), getSite().isChangeable() ? getSite().getTimeout() : -1); |
|
|
|
|
mBinding.url.setVisibility(result.getUrl().isOnly() ? View.GONE : View.VISIBLE); |
|
|
|
|
mBinding.qualityText.setVisibility(result.getUrl().isOnly() ? View.GONE : View.VISIBLE); |
|
|
|
|
mBinding.quality.setVisibility(result.getUrl().isOnly() ? View.GONE : View.VISIBLE); |
|
|
|
|
mBinding.swipeLayout.setRefreshing(false); |
|
|
|
|
mUrlAdapter.addAll(result); |
|
|
|
|
mQualityAdapter.addAll(result); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
|