From 5e9b9a4a2ac546ef5e1b7e17cb941aa945690765 Mon Sep 17 00:00:00 2001 From: FongMi Date: Tue, 16 Jul 2024 01:05:56 +0800 Subject: [PATCH] [mobile] support cast to video activity --- .../android/tv/ui/activity/VideoActivity.java | 8 ++++++++ .../fongmi/android/tv/ui/dialog/ReceiveDialog.java | 14 ++++++++------ 2 files changed, 16 insertions(+), 6 deletions(-) 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 b866268f2..b3a09cc0a 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 @@ -57,6 +57,7 @@ import com.fongmi.android.tv.bean.Vod; import com.fongmi.android.tv.databinding.ActivityVideoBinding; import com.fongmi.android.tv.db.AppDatabase; import com.fongmi.android.tv.event.ActionEvent; +import com.fongmi.android.tv.event.CastEvent; import com.fongmi.android.tv.event.ErrorEvent; import com.fongmi.android.tv.event.PlayerEvent; import com.fongmi.android.tv.event.RefreshEvent; @@ -80,6 +81,7 @@ import com.fongmi.android.tv.ui.dialog.ControlDialog; import com.fongmi.android.tv.ui.dialog.EpisodeGridDialog; import com.fongmi.android.tv.ui.dialog.EpisodeListDialog; import com.fongmi.android.tv.ui.dialog.InfoDialog; +import com.fongmi.android.tv.ui.dialog.ReceiveDialog; import com.fongmi.android.tv.ui.dialog.TrackDialog; import com.fongmi.android.tv.utils.Clock; import com.fongmi.android.tv.utils.FileChooser; @@ -1044,6 +1046,12 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo } } + @Subscribe(threadMode = ThreadMode.MAIN) + public void onCastEvent(CastEvent event) { + if (isRedirect()) return; + ReceiveDialog.create().event(event).show(this); + } + @Subscribe(threadMode = ThreadMode.MAIN) public void onActionEvent(ActionEvent event) { if (isRedirect()) return; diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/dialog/ReceiveDialog.java b/app/src/mobile/java/com/fongmi/android/tv/ui/dialog/ReceiveDialog.java index 6fe7f6035..f147b8752 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/dialog/ReceiveDialog.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/dialog/ReceiveDialog.java @@ -7,6 +7,7 @@ import android.view.ViewGroup; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentActivity; import androidx.viewbinding.ViewBinding; import com.fongmi.android.tv.api.config.VodConfig; @@ -34,13 +35,14 @@ public class ReceiveDialog extends BaseDialog { return this; } + public void show(FragmentActivity activity) { + for (Fragment f : activity.getSupportFragmentManager().getFragments()) if (f instanceof BottomSheetDialogFragment) return; + show(activity.getSupportFragmentManager(), null); + } + public void show(Fragment fragment) { - try { - for (Fragment f : fragment.getChildFragmentManager().getFragments()) if (f instanceof BottomSheetDialogFragment) return; - show(fragment.getChildFragmentManager(), null); - } catch (Exception e) { - onReceiveCast(); - } + for (Fragment f : fragment.getChildFragmentManager().getFragments()) if (f instanceof BottomSheetDialogFragment) return; + show(fragment.getChildFragmentManager(), null); } @Override