From 18f134190e69a045cb5f9bf7b14a1f48d8d82e32 Mon Sep 17 00:00:00 2001 From: FongMi Date: Wed, 22 Jan 2025 12:51:50 +0800 Subject: [PATCH] Clean code --- .../android/tv/ui/activity/CastActivity.java | 2 +- .../android/tv/ui/activity/LiveActivity.java | 2 +- .../android/tv/ui/activity/VideoActivity.java | 2 +- .../com/fongmi/android/tv/player/Players.java | 23 ++++++++++--------- .../android/tv/ui/activity/LiveActivity.java | 2 +- .../android/tv/ui/activity/VideoActivity.java | 2 +- 6 files changed, 17 insertions(+), 16 deletions(-) diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/CastActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/CastActivity.java index fa01ad5a5..7f0e9bd2c 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/CastActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/CastActivity.java @@ -189,7 +189,7 @@ public class CastActivity extends BaseActivity implements CustomKeyDownCast.List } private void onDecode() { - mPlayers.toggleDecode(mBinding.exo); + mPlayers.toggleDecode(); setDecode(); } 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 8bb679e48..a6cc8ef10 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 @@ -377,7 +377,7 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick } private void onDecode() { - mPlayers.toggleDecode(mBinding.exo); + mPlayers.toggleDecode(); setDecode(); } 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 063a6f4fe..ee3e64350 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 @@ -822,7 +822,7 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List } private void onDecode() { - mPlayers.toggleDecode(mBinding.exo); + mPlayers.toggleDecode(); setDecode(); } diff --git a/app/src/main/java/com/fongmi/android/tv/player/Players.java b/app/src/main/java/com/fongmi/android/tv/player/Players.java index 91b1a8b51..d78260605 100644 --- a/app/src/main/java/com/fongmi/android/tv/player/Players.java +++ b/app/src/main/java/com/fongmi/android/tv/player/Players.java @@ -76,6 +76,7 @@ public class Players implements Player.Listener, ParseCallback { private MediaSessionCompat session; private ExoPlayer exoPlayer; private ParseJob parseJob; + private PlayerView view; private List subs; private String format; private String url; @@ -107,21 +108,22 @@ public class Players implements Player.Listener, ParseCallback { MediaControllerCompat.setMediaController(activity, session.getController()); } - public void init(PlayerView exo) { + public void init(PlayerView view) { releasePlayer(); - initExo(exo); + setPlayer(view); setMediaItem(); } - private void initExo(PlayerView exo) { + private void setPlayer(PlayerView view) { exoPlayer = new ExoPlayer.Builder(App.get()).setLoadControl(ExoUtil.buildLoadControl()).setTrackSelector(ExoUtil.buildTrackSelector()).setRenderersFactory(ExoUtil.buildRenderersFactory(isHard() ? EXTENSION_RENDERER_MODE_ON : EXTENSION_RENDERER_MODE_PREFER)).setMediaSourceFactory(ExoUtil.buildMediaSourceFactory()).build(); exoPlayer.setAudioAttributes(AudioAttributes.DEFAULT, true); exoPlayer.addAnalyticsListener(new EventLogger()); exoPlayer.setHandleAudioBecomingNoisy(true); - exo.setRender(Setting.getRender()); + view.setRender(Setting.getRender()); exoPlayer.setPlayWhenReady(true); exoPlayer.addListener(this); - exo.setPlayer(exoPlayer); + view.setPlayer(exoPlayer); + this.view = view; } public ExoPlayer get() { @@ -277,10 +279,10 @@ public class Players implements Player.Listener, ParseCallback { return setSpeed(speed); } - public void toggleDecode(PlayerView exo) { + public void toggleDecode() { decode = isHard() ? SOFT : HARD; Setting.putDecode(decode); - init(exo); + init(view); } public String getPositionTime(long time) { @@ -317,8 +319,8 @@ public class Players implements Player.Listener, ParseCallback { } public void stop() { - if (parseJob != null) parseJob.stop(); if (exoPlayer != null) exoPlayer.stop(); + stopParse(); } public void release() { @@ -331,9 +333,8 @@ public class Players implements Player.Listener, ParseCallback { } private void releasePlayer() { - if (exoPlayer == null) return; - exoPlayer.removeListener(this); - exoPlayer.release(); + if (exoPlayer != null) exoPlayer.release(); + if (view != null) view.setPlayer(null); exoPlayer = null; } 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 677013327..25d02a9ee 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 @@ -397,7 +397,7 @@ public class LiveActivity extends BaseActivity implements CustomKeyDownLive.List } private void onDecode() { - mPlayers.toggleDecode(mBinding.exo); + mPlayers.toggleDecode(); setR1Callback(); setDecode(); } 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 586d8041b..28337d952 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 @@ -763,7 +763,7 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo } private void onDecode() { - mPlayers.toggleDecode(mBinding.exo); + mPlayers.toggleDecode(); setR1Callback(); setDecode(); }