From a3a7246712c4e44cfc928de3806b55017cbb086d Mon Sep 17 00:00:00 2001 From: FongMi Date: Thu, 6 Apr 2023 22:14:22 +0800 Subject: [PATCH] [mobile] support cast - part 2 --- .../com/fongmi/android/tv/bean/Device.java | 5 +++++ .../tv/ui/activity/DetailActivity.java | 20 ++++++++++++++++--- .../mobile/res/layout/view_control_vod.xml | 16 +++++++-------- 3 files changed, 30 insertions(+), 11 deletions(-) diff --git a/app/src/main/java/com/fongmi/android/tv/bean/Device.java b/app/src/main/java/com/fongmi/android/tv/bean/Device.java index 3ceddd590..8ba31c75e 100644 --- a/app/src/main/java/com/fongmi/android/tv/bean/Device.java +++ b/app/src/main/java/com/fongmi/android/tv/bean/Device.java @@ -11,6 +11,7 @@ import com.fongmi.android.tv.db.AppDatabase; import com.fongmi.android.tv.server.Server; import com.fongmi.android.tv.utils.Utils; import com.google.gson.Gson; +import com.google.gson.annotations.SerializedName; import java.util.List; @@ -18,9 +19,13 @@ import java.util.List; public class Device { @PrimaryKey(autoGenerate = true) + @SerializedName("id") private Integer id; + @SerializedName("uuid") private String uuid; + @SerializedName("name") private String name; + @SerializedName("ip") private String ip; public static Device get() { diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/DetailActivity.java b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/DetailActivity.java index fe0cf4004..355d80cad 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/DetailActivity.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/DetailActivity.java @@ -30,6 +30,7 @@ import com.fongmi.android.tv.App; import com.fongmi.android.tv.Constant; import com.fongmi.android.tv.R; import com.fongmi.android.tv.api.ApiConfig; +import com.fongmi.android.tv.bean.Device; import com.fongmi.android.tv.bean.History; import com.fongmi.android.tv.bean.Keep; import com.fongmi.android.tv.bean.Parse; @@ -78,7 +79,7 @@ import java.util.concurrent.Executors; import tv.danmaku.ijk.media.player.ui.IjkVideoView; -public class DetailActivity extends BaseActivity implements CustomKeyDownVod.Listener, TrackDialog.Listener, ControlDialog.Listener, Clock.Callback, FlagAdapter.OnClickListener, EpisodeAdapter.OnClickListener, ParseAdapter.OnClickListener { +public class DetailActivity extends BaseActivity implements CustomKeyDownVod.Listener, Cast.Listener, TrackDialog.Listener, ControlDialog.Listener, Clock.Callback, FlagAdapter.OnClickListener, EpisodeAdapter.OnClickListener, ParseAdapter.OnClickListener { private ViewGroup.LayoutParams mFrameParams; private ActivityDetailBinding mBinding; @@ -449,8 +450,7 @@ public class DetailActivity extends BaseActivity implements CustomKeyDownVod.Lis } private void onCast() { - Cast.create().url(ApiConfig.getUrl()).history(mHistory).start(); - mBinding.control.play.performClick(); + Cast.create(this).url(ApiConfig.getUrl()).history(mHistory).start(); } private void onKeep() { @@ -676,9 +676,11 @@ public class DetailActivity extends BaseActivity implements CustomKeyDownVod.Lis mBinding.control.back.setVisibility(isFullscreen() && !isLock() ? View.VISIBLE : View.GONE); mBinding.control.action.getRoot().setVisibility(isFullscreen() ? View.VISIBLE : View.GONE); mBinding.control.setting.setVisibility(isFullscreen() ? View.GONE : View.VISIBLE); + mBinding.control.title.setVisibility(isFullscreen() ? View.VISIBLE : View.GONE); mBinding.control.share.setVisibility(isFullscreen() ? View.GONE : View.VISIBLE); mBinding.control.keep.setVisibility(isFullscreen() ? View.GONE : View.VISIBLE); mBinding.control.lock.setVisibility(isFullscreen() ? View.VISIBLE : View.GONE); + mBinding.control.size.setVisibility(isFullscreen() ? View.VISIBLE : View.GONE); mBinding.control.center.setVisibility(isLock() ? View.GONE : View.VISIBLE); mBinding.control.bottom.setVisibility(isLock() ? View.GONE : View.VISIBLE); mBinding.control.top.setVisibility(isLock() ? View.GONE : View.VISIBLE); @@ -1028,6 +1030,18 @@ public class DetailActivity extends BaseActivity implements CustomKeyDownVod.Lis adapter.notifyItemRangeChanged(0, adapter.getItemCount()); } + @Override + public void onCastTo(Device device) { + Notify.show(getString(R.string.cast_device, device.getName())); + checkPlayImg(false); + mPlayers.pause(); + } + + @Override + public void onCastError(int resId) { + Notify.show(resId); + } + @Override public void onScale(int tag) { mHistory.setScale(tag); diff --git a/app/src/mobile/res/layout/view_control_vod.xml b/app/src/mobile/res/layout/view_control_vod.xml index b10a4a187..13e08a168 100644 --- a/app/src/mobile/res/layout/view_control_vod.xml +++ b/app/src/mobile/res/layout/view_control_vod.xml @@ -39,6 +39,14 @@ + + - -