mirror of
https://github.com/yuliskov/SmartTube.git
synced 2026-05-20 06:20:03 -05:00
refactor
This commit is contained in:
+2
-2
@@ -1,7 +1,7 @@
|
||||
package com.liskovsoft.smartyoutubetv2.common.app.models.playback;
|
||||
|
||||
import com.liskovsoft.smartyoutubetv2.common.app.models.data.Video;
|
||||
import com.liskovsoft.smartyoutubetv2.common.app.models.playback.controller.PlayerController;
|
||||
import com.liskovsoft.smartyoutubetv2.common.app.models.playback.controller.PlaybackController;
|
||||
import com.liskovsoft.smartyoutubetv2.common.app.models.playback.managers.AutoFrameRateManager;
|
||||
import com.liskovsoft.smartyoutubetv2.common.app.models.playback.managers.HistoryUpdater;
|
||||
import com.liskovsoft.smartyoutubetv2.common.app.models.playback.managers.PlayerUiManager;
|
||||
@@ -43,7 +43,7 @@ public class MainPlayerEventBridge implements PlayerEventListener {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setController(PlayerController controller) {
|
||||
public void setController(PlaybackController controller) {
|
||||
process(listener -> listener.setController(controller));
|
||||
}
|
||||
|
||||
|
||||
+3
-3
@@ -3,17 +3,17 @@ package com.liskovsoft.smartyoutubetv2.common.app.models.playback;
|
||||
import android.app.Activity;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import com.liskovsoft.smartyoutubetv2.common.app.models.data.Video;
|
||||
import com.liskovsoft.smartyoutubetv2.common.app.models.playback.controller.PlayerController;
|
||||
import com.liskovsoft.smartyoutubetv2.common.app.models.playback.controller.PlaybackController;
|
||||
import com.liskovsoft.smartyoutubetv2.common.app.models.playback.listener.PlayerEventListener;
|
||||
import com.liskovsoft.smartyoutubetv2.common.autoframerate.FormatItem;
|
||||
|
||||
public abstract class PlayerEventListenerHelper implements PlayerEventListener {
|
||||
protected PlayerController mController;
|
||||
protected PlaybackController mController;
|
||||
protected Activity mActivity;
|
||||
protected Activity mParentActivity;
|
||||
|
||||
@Override
|
||||
public void setController(PlayerController controller) {
|
||||
public void setController(PlaybackController controller) {
|
||||
mController = controller;
|
||||
mActivity = ((Fragment) controller).getActivity();
|
||||
}
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@ import com.liskovsoft.smartyoutubetv2.common.app.models.data.Video;
|
||||
|
||||
// is paused, position, tracks (audio, video, subs), codecs, aspect, speed
|
||||
// title, subtitle (description), subscribed/liked nums, published date, toggle buttons, simple buttons
|
||||
public interface PlayerController extends PlayerEngineController, PlayerUiController {
|
||||
public interface PlaybackController extends PlaybackEngineController, PlaybackUiController {
|
||||
void setVideo(Video item);
|
||||
Video getVideo();
|
||||
}
|
||||
+1
-1
@@ -5,7 +5,7 @@ import com.liskovsoft.smartyoutubetv2.common.autoframerate.FormatItem;
|
||||
import java.io.InputStream;
|
||||
import java.util.List;
|
||||
|
||||
public interface PlayerEngineController {
|
||||
public interface PlaybackEngineController {
|
||||
void openDash(InputStream dashManifest);
|
||||
void openHls(String hlsPlaylistUrl);
|
||||
long getPositionMs();
|
||||
+1
-1
@@ -2,7 +2,7 @@ package com.liskovsoft.smartyoutubetv2.common.app.models.playback.controller;
|
||||
|
||||
import com.liskovsoft.smartyoutubetv2.common.app.models.data.VideoGroup;
|
||||
|
||||
public interface PlayerUiController {
|
||||
public interface PlaybackUiController {
|
||||
void updateSuggestions(VideoGroup group);
|
||||
void resetSuggestedPosition();
|
||||
void clearSuggestions();
|
||||
+2
-2
@@ -1,12 +1,12 @@
|
||||
package com.liskovsoft.smartyoutubetv2.common.app.models.playback.listener;
|
||||
|
||||
import com.liskovsoft.smartyoutubetv2.common.app.models.data.Video;
|
||||
import com.liskovsoft.smartyoutubetv2.common.app.models.playback.controller.PlayerController;
|
||||
import com.liskovsoft.smartyoutubetv2.common.app.models.playback.controller.PlaybackController;
|
||||
|
||||
// is paused, position, tracks (audio, video, subs), codecs, aspect, speed
|
||||
// title, subtitle (description), subscribed/liked nums, published date, toggle buttons, simple buttons
|
||||
public interface PlayerEventListener extends PlayerUiEventListener, PlayerEngineEventListener, ViewEventListener {
|
||||
void openVideo(Video item);
|
||||
void setController(PlayerController controller);
|
||||
void setController(PlaybackController controller);
|
||||
void setParentView(Object parentView);
|
||||
}
|
||||
|
||||
+10
-10
@@ -2,7 +2,7 @@ package com.liskovsoft.smartyoutubetv2.common.app.models.playback.managers;
|
||||
|
||||
import com.liskovsoft.smartyoutubetv2.common.R;
|
||||
import com.liskovsoft.smartyoutubetv2.common.app.models.playback.PlayerEventListenerHelper;
|
||||
import com.liskovsoft.smartyoutubetv2.common.app.models.playback.controller.PlayerController;
|
||||
import com.liskovsoft.smartyoutubetv2.common.app.models.playback.controller.PlaybackController;
|
||||
import com.liskovsoft.smartyoutubetv2.common.app.models.playback.ui.OptionItem;
|
||||
import com.liskovsoft.smartyoutubetv2.common.app.models.playback.ui.UiOptionItem;
|
||||
import com.liskovsoft.smartyoutubetv2.common.autoframerate.AutoFrameRateHelper;
|
||||
@@ -22,7 +22,7 @@ public class AutoFrameRateManager extends PlayerEventListenerHelper {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setController(PlayerController controller) {
|
||||
public void setController(PlaybackController controller) {
|
||||
super.setController(controller);
|
||||
|
||||
if (!mRunOnce) {
|
||||
@@ -32,9 +32,9 @@ public class AutoFrameRateManager extends PlayerEventListenerHelper {
|
||||
String title = mActivity.getString(R.string.auto_frame_rate_enable);
|
||||
String fpsCorrection = mActivity.getString(R.string.auto_frame_rate_correction, "(30 => 29.97)");
|
||||
mUiManager.addHQSwitch(title,
|
||||
UiOptionItem.from(title, this::onAfrChange, mEnabled));
|
||||
UiOptionItem.from(title, this::onAfrOptionClick, mEnabled));
|
||||
mUiManager.addHQSwitch(title,
|
||||
UiOptionItem.from(fpsCorrection, this::onFpsCorrection, mCorrectionEnabled)
|
||||
UiOptionItem.from(fpsCorrection, this::onFpsCorrectionClick, mCorrectionEnabled)
|
||||
);
|
||||
|
||||
mRunOnce = true;
|
||||
@@ -55,7 +55,7 @@ public class AutoFrameRateManager extends PlayerEventListenerHelper {
|
||||
}
|
||||
}
|
||||
|
||||
private void onAfrChange(OptionItem optionItem) {
|
||||
private void onAfrOptionClick(OptionItem optionItem) {
|
||||
mEnabled = optionItem.isSelected();
|
||||
|
||||
if (mEnabled) {
|
||||
@@ -65,6 +65,11 @@ public class AutoFrameRateManager extends PlayerEventListenerHelper {
|
||||
}
|
||||
}
|
||||
|
||||
private void onFpsCorrectionClick(OptionItem optionItem) {
|
||||
mCorrectionEnabled = optionItem.isSelected();
|
||||
mAutoFrameRateHelper.setFpsCorrectionEnabled(mCorrectionEnabled);
|
||||
}
|
||||
|
||||
private void restoreAfr() {
|
||||
mAutoFrameRateHelper.restoreOriginalState();
|
||||
mParentAutoFrameRateHelper.restoreOriginalState();
|
||||
@@ -74,9 +79,4 @@ public class AutoFrameRateManager extends PlayerEventListenerHelper {
|
||||
mAutoFrameRateHelper.apply(track);
|
||||
mParentAutoFrameRateHelper.apply(track);
|
||||
}
|
||||
|
||||
private void onFpsCorrection(OptionItem optionItem) {
|
||||
mCorrectionEnabled = optionItem.isSelected();
|
||||
mAutoFrameRateHelper.setFpsCorrectionEnabled(mCorrectionEnabled);
|
||||
}
|
||||
}
|
||||
|
||||
+2
-3
@@ -2,12 +2,11 @@ package com.liskovsoft.smartyoutubetv2.common.app.models.playback.managers;
|
||||
|
||||
import android.os.Handler;
|
||||
import android.os.Looper;
|
||||
import androidx.core.util.Pair;
|
||||
import com.liskovsoft.sharedutils.helpers.KeyHelpers;
|
||||
import com.liskovsoft.sharedutils.mylogger.Log;
|
||||
import com.liskovsoft.smartyoutubetv2.common.R;
|
||||
import com.liskovsoft.smartyoutubetv2.common.app.models.playback.PlayerEventListenerHelper;
|
||||
import com.liskovsoft.smartyoutubetv2.common.app.models.playback.controller.PlayerController;
|
||||
import com.liskovsoft.smartyoutubetv2.common.app.models.playback.controller.PlaybackController;
|
||||
import com.liskovsoft.smartyoutubetv2.common.app.models.playback.ui.OptionItem;
|
||||
import com.liskovsoft.smartyoutubetv2.common.app.models.playback.ui.UiOptionItem;
|
||||
import com.liskovsoft.smartyoutubetv2.common.app.presenters.VideoSettingsPresenter;
|
||||
@@ -36,7 +35,7 @@ public class PlayerUiManager extends PlayerEventListenerHelper {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setController(PlayerController controller) {
|
||||
public void setController(PlaybackController controller) {
|
||||
super.setController(controller);
|
||||
mSettingsPresenter = VideoSettingsPresenter.instance(mActivity);
|
||||
}
|
||||
|
||||
+2
-2
@@ -1,9 +1,9 @@
|
||||
package com.liskovsoft.smartyoutubetv2.common.app.views;
|
||||
|
||||
import com.liskovsoft.smartyoutubetv2.common.app.models.playback.controller.PlayerController;
|
||||
import com.liskovsoft.smartyoutubetv2.common.app.models.playback.controller.PlaybackController;
|
||||
import com.liskovsoft.smartyoutubetv2.common.app.models.playback.listener.PlayerEventListener;
|
||||
|
||||
public interface PlaybackView {
|
||||
void setEventListener(PlayerEventListener stateBridge);
|
||||
PlayerController getController();
|
||||
PlaybackController getController();
|
||||
}
|
||||
|
||||
+3
-1
@@ -109,7 +109,9 @@ public class ViewManager {
|
||||
try {
|
||||
Log.d(TAG, "Launching parent activity...");
|
||||
setDefault(null); // current activity is finished, so do reset
|
||||
activity.startActivity(new Intent(activity, parentActivity));
|
||||
Intent intent = new Intent(activity, parentActivity);
|
||||
//intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
|
||||
activity.startActivity(intent);
|
||||
} catch (ActivityNotFoundException e) {
|
||||
e.printStackTrace();
|
||||
Log.e(TAG, "Parent activity not found.");
|
||||
|
||||
+6
@@ -5,6 +5,7 @@ import androidx.fragment.app.Fragment;
|
||||
import android.view.KeyEvent;
|
||||
import android.view.MotionEvent;
|
||||
|
||||
import com.liskovsoft.smartyoutubetv2.common.app.views.ViewManager;
|
||||
import com.liskovsoft.smartyoutubetv2.tv.R;
|
||||
import com.liskovsoft.smartyoutubetv2.tv.ui.common.LeanbackActivity;
|
||||
|
||||
@@ -66,4 +67,9 @@ public class PlaybackActivity extends LeanbackActivity {
|
||||
}
|
||||
return super.onGenericMotionEvent(event);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void finish() {
|
||||
ViewManager.instance(this).startParentView(this);
|
||||
}
|
||||
}
|
||||
|
||||
+5
-2
@@ -29,6 +29,7 @@ import com.google.android.exoplayer2.util.Util;
|
||||
import com.liskovsoft.sharedutils.mylogger.Log;
|
||||
import com.liskovsoft.smartyoutubetv2.common.app.models.data.Video;
|
||||
import com.liskovsoft.smartyoutubetv2.common.app.models.data.VideoGroup;
|
||||
import com.liskovsoft.smartyoutubetv2.common.app.models.playback.controller.PlaybackController;
|
||||
import com.liskovsoft.smartyoutubetv2.common.app.models.playback.listener.PlayerEventListener;
|
||||
import com.liskovsoft.smartyoutubetv2.common.app.presenters.PlaybackPresenter;
|
||||
import com.liskovsoft.smartyoutubetv2.common.app.views.PlaybackView;
|
||||
@@ -50,7 +51,7 @@ import java.util.Map;
|
||||
* Plays selected video, loads playlist and related videos, and delegates playback to
|
||||
* {@link VideoPlayerGlue}.
|
||||
*/
|
||||
public class PlaybackFragment extends VideoSupportFragment implements PlaybackView, com.liskovsoft.smartyoutubetv2.common.app.models.playback.controller.PlayerController {
|
||||
public class PlaybackFragment extends VideoSupportFragment implements PlaybackView, PlaybackController {
|
||||
private static final String TAG = PlaybackFragment.class.getSimpleName();
|
||||
private static final int UPDATE_DELAY = 16;
|
||||
private VideoPlayerGlue mPlayerGlue;
|
||||
@@ -409,7 +410,7 @@ public class PlaybackFragment extends VideoSupportFragment implements PlaybackVi
|
||||
}
|
||||
|
||||
@Override
|
||||
public com.liskovsoft.smartyoutubetv2.common.app.models.playback.controller.PlayerController getController() {
|
||||
public PlaybackController getController() {
|
||||
return this;
|
||||
}
|
||||
|
||||
@@ -423,6 +424,8 @@ public class PlaybackFragment extends VideoSupportFragment implements PlaybackVi
|
||||
public void onDestroy() {
|
||||
super.onDestroy();
|
||||
|
||||
Log.d(TAG, "Destroying PlaybackFragment...");
|
||||
|
||||
// Fix situations when engine didn't properly destroyed.
|
||||
// E.g. after closing dialogs.
|
||||
unblockEngine();
|
||||
|
||||
Reference in New Issue
Block a user