From f843058a603deb7369300db7b925aa4d623d8625 Mon Sep 17 00:00:00 2001 From: FongMi Date: Sat, 28 Oct 2023 12:13:47 +0800 Subject: [PATCH] Support google home control --- .../android/tv/ui/activity/LiveActivity.java | 19 +++++++++++++++++++ .../android/tv/ui/activity/VideoActivity.java | 14 ++++++++++++++ 2 files changed, 33 insertions(+) diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java index 03fb0ffea..dd0946865 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java @@ -34,6 +34,7 @@ import com.fongmi.android.tv.bean.Keep; import com.fongmi.android.tv.bean.Live; import com.fongmi.android.tv.bean.Track; import com.fongmi.android.tv.databinding.ActivityLiveBinding; +import com.fongmi.android.tv.event.ActionEvent; import com.fongmi.android.tv.event.ErrorEvent; import com.fongmi.android.tv.event.PlayerEvent; import com.fongmi.android.tv.impl.Callback; @@ -282,6 +283,11 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick fetch(); } + private void checkPlay() { + if (mPlayers.isPlaying()) mPlayers.pause(); + else mPlayers.play(); + } + private void onTrack(View view) { TrackDialog.create().player(mPlayers).type(Integer.parseInt(view.getTag().toString())).show(this); hideControl(); @@ -596,6 +602,19 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick } } + @Subscribe(threadMode = ThreadMode.MAIN) + public void onActionEvent(ActionEvent event) { + if (ActionEvent.PLAY.equals(event.getAction()) || ActionEvent.PAUSE.equals(event.getAction())) { + checkPlay(); + } else if (ActionEvent.NEXT.equals(event.getAction())) { + nextChannel(); + } else if (ActionEvent.PREV.equals(event.getAction())) { + prevChannel(); + } else if (ActionEvent.STOP.equals(event.getAction())) { + finish(); + } + } + @Subscribe(threadMode = ThreadMode.MAIN) public void onPlayerEvent(PlayerEvent event) { switch (event.getState()) { diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java index 10f9d33df..b9253f6cc 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java @@ -50,6 +50,7 @@ import com.fongmi.android.tv.bean.Track; 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.ErrorEvent; import com.fongmi.android.tv.event.PlayerEvent; import com.fongmi.android.tv.event.RefreshEvent; @@ -1081,6 +1082,19 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List } } + @Subscribe(threadMode = ThreadMode.MAIN) + public void onActionEvent(ActionEvent event) { + if (ActionEvent.PLAY.equals(event.getAction()) || ActionEvent.PAUSE.equals(event.getAction())) { + onKeyCenter(); + } else if (ActionEvent.NEXT.equals(event.getAction())) { + mBinding.control.next.performClick(); + } else if (ActionEvent.PREV.equals(event.getAction())) { + mBinding.control.prev.performClick(); + } else if (ActionEvent.STOP.equals(event.getAction())) { + finish(); + } + } + @Subscribe(threadMode = ThreadMode.MAIN) public void onPlayerEvent(PlayerEvent event) { switch (event.getState()) {