diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/LiveActivity.java b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/LiveActivity.java index 92e7d4865..b148ea825 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/LiveActivity.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/LiveActivity.java @@ -83,7 +83,7 @@ import okhttp3.Call; import okhttp3.Response; import tv.danmaku.ijk.media.player.ui.IjkVideoView; -public class LiveActivity extends BaseActivity implements CustomKeyDownLive.Listener, TrackDialog.Listener, Biometric.Callback, PassCallback, LiveCallback, GroupAdapter.OnClickListener, ChannelAdapter.OnClickListener, SubtitleCallback { +public class LiveActivity extends BaseActivity implements CustomKeyDownLive.Listener, TrackDialog.Listener, Biometric.Callback, PassCallback, LiveCallback, GroupAdapter.OnClickListener, ChannelAdapter.OnClickListener, SubtitleCallback, CastDialog.Listener { private ActivityLiveBinding mBinding; private Observer mObserveChannel; @@ -901,6 +901,10 @@ public class LiveActivity extends BaseActivity implements CustomKeyDownLive.List PlaybackService.stop(); } + @Override + public void onCasted() { + } + @Override public void onBright(int progress) { mBinding.widget.bright.setVisibility(View.VISIBLE); diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java index 886548d91..9609b18f6 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java @@ -116,7 +116,7 @@ import master.flame.danmaku.danmaku.model.IDisplay; import master.flame.danmaku.danmaku.model.android.DanmakuContext; import tv.danmaku.ijk.media.player.ui.IjkVideoView; -public class VideoActivity extends BaseActivity implements Clock.Callback, CustomKeyDownVod.Listener, TrackDialog.Listener, ControlDialog.Listener, FlagAdapter.OnClickListener, EpisodeAdapter.OnClickListener, QualityAdapter.OnClickListener, QuickAdapter.OnClickListener, ParseAdapter.OnClickListener, SubtitleCallback { +public class VideoActivity extends BaseActivity implements Clock.Callback, CustomKeyDownVod.Listener, TrackDialog.Listener, ControlDialog.Listener, FlagAdapter.OnClickListener, EpisodeAdapter.OnClickListener, QualityAdapter.OnClickListener, QuickAdapter.OnClickListener, ParseAdapter.OnClickListener, SubtitleCallback, CastDialog.Listener { private ActivityVideoBinding mBinding; private ViewGroup.LayoutParams mFrameParams; @@ -1500,6 +1500,11 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo PlaybackService.stop(); } + @Override + public void onCasted() { + onPaused(); + } + @Override public void onScale(int tag) { mHistory.setScale(tag); diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/dialog/CastDialog.java b/app/src/mobile/java/com/fongmi/android/tv/ui/dialog/CastDialog.java index 9c3156e34..1bb5e4811 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/dialog/CastDialog.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/dialog/CastDialog.java @@ -57,6 +57,7 @@ public class CastDialog extends BaseDialog implements DeviceAdapter.OnClickListe private DialogDeviceBinding binding; private DeviceAdapter adapter; private DeviceControl control; + private Listener listener; private CastVideo video; private boolean fm; @@ -94,6 +95,7 @@ public class CastDialog extends BaseDialog implements DeviceAdapter.OnClickListe public void show(FragmentActivity activity) { for (Fragment f : activity.getSupportFragmentManager().getFragments()) if (f instanceof BottomSheetDialogFragment) return; show(activity.getSupportFragmentManager(), null); + this.listener = (Listener) activity; } @Override @@ -141,6 +143,11 @@ public class CastDialog extends BaseDialog implements DeviceAdapter.OnClickListe ScanActivity.start(getActivity()); } + private void onCasted() { + listener.onCasted(); + dismiss(); + } + @Subscribe(threadMode = ThreadMode.MAIN) public void onScanEvent(ScanEvent event) { ScanTask.create(this).start(event.getAddress()); @@ -174,7 +181,7 @@ public class CastDialog extends BaseDialog implements DeviceAdapter.OnClickListe @Override public void onSuccess(Unit unit) { control.play("1", null); - dismiss(); + onCasted(); } @Override @@ -189,7 +196,7 @@ public class CastDialog extends BaseDialog implements DeviceAdapter.OnClickListe @Override public void onResponse(@NonNull Call call, @NonNull Response response) throws IOException { - if (response.body().string().equals("OK")) App.post(this::dismiss); + if (response.body().string().equals("OK")) App.post(this::onCasted); else App.post(() -> Notify.show(R.string.device_offline)); } @@ -228,4 +235,9 @@ public class CastDialog extends BaseDialog implements DeviceAdapter.OnClickListe public boolean onLongClick(Device item) { return false; } + + public interface Listener { + + void onCasted(); + } }