Removed return parameter of loadMediaInfo

We return true anyways. The call for actually loading is asynchronous,
so returning anything here does not make sense.

Reduces likelihood of loader being interrupted to just load the same
item again when the state changes.
This commit is contained in:
ByteHamster 2021-02-15 21:56:03 +01:00
parent c0d3a6e3be
commit 339aa936bf
14 changed files with 54 additions and 33 deletions

View File

@ -108,7 +108,12 @@ public class PlaybackTest {
}
private void setupPlaybackController() {
controller = new PlaybackController(activityTestRule.getActivity());
controller = new PlaybackController(activityTestRule.getActivity()) {
@Override
public void loadMediaInfo() {
// Do nothing
}
};
controller.init();
}

View File

@ -73,7 +73,12 @@ public class SpeedChangeTest {
EspressoTestUtils.tryKillPlaybackService();
activityRule.launchActivity(new Intent().putExtra(MainActivityStarter.EXTRA_OPEN_PLAYER, true));
controller = new PlaybackController(activityRule.getActivity());
controller = new PlaybackController(activityRule.getActivity()) {
@Override
public void loadMediaInfo() {
// Do nothing
}
};
controller.init();
controller.getMedia(); // To load media
}

View File

@ -135,8 +135,8 @@ public abstract class MediaplayerActivity extends CastEnabledActivity implements
}
@Override
public boolean loadMediaInfo() {
return MediaplayerActivity.this.loadMediaInfo();
public void loadMediaInfo() {
MediaplayerActivity.this.loadMediaInfo();
}
@Override
@ -459,16 +459,15 @@ public abstract class MediaplayerActivity extends CastEnabledActivity implements
* to the PlaybackService to ensure that the activity has the right
* FeedMedia object.
*/
boolean loadMediaInfo() {
void loadMediaInfo() {
Log.d(TAG, "loadMediaInfo()");
if(controller == null || controller.getMedia() == null) {
return false;
if (controller == null || controller.getMedia() == null) {
return;
}
showTimeLeft = UserPreferences.shouldShowRemainingTime();
onPositionObserverUpdate();
checkFavorite();
updatePlaybackSpeedButton();
return true;
}
void updatePlaybackSpeedButton() {

View File

@ -132,17 +132,13 @@ public class VideoplayerActivity extends MediaplayerActivity {
}
@Override
protected boolean loadMediaInfo() {
if (!super.loadMediaInfo() || controller == null) {
return false;
}
protected void loadMediaInfo() {
super.loadMediaInfo();
Playable media = controller.getMedia();
if (media != null) {
getSupportActionBar().setSubtitle(media.getEpisodeTitle());
getSupportActionBar().setTitle(media.getFeedTitle());
return true;
}
return false;
}
@Override

View File

@ -45,6 +45,11 @@ public class PlaybackControlsDialog extends DialogFragment {
setupUi();
setupAudioTracks();
}
@Override
public void loadMediaInfo() {
}
};
controller.init();
setupUi();

View File

@ -55,6 +55,11 @@ public class SleepTimerDialog extends DialogFragment {
public void onSleepTimerUpdate() {
updateTime();
}
@Override
public void loadMediaInfo() {
updateTime();
}
};
controller.init();
timeUpdater = Observable.interval(1, TimeUnit.SECONDS)

View File

@ -64,6 +64,11 @@ public class VariableSpeedDialog extends DialogFragment {
public void onPlaybackSpeedChange() {
updateSpeed();
}
@Override
public void loadMediaInfo() {
updateSpeed();
}
};
controller.init();
speedSeekBar.setController(controller);

View File

@ -365,9 +365,8 @@ public class AudioPlayerFragment extends Fragment implements
}
@Override
public boolean loadMediaInfo() {
public void loadMediaInfo() {
AudioPlayerFragment.this.loadMediaInfo();
return true;
}
@Override

View File

@ -72,9 +72,8 @@ public class ChaptersFragment extends Fragment {
super.onStart();
controller = new PlaybackController(getActivity()) {
@Override
public boolean loadMediaInfo() {
public void loadMediaInfo() {
ChaptersFragment.this.loadMediaInfo();
return true;
}
@Override

View File

@ -117,9 +117,8 @@ public class CoverFragment extends Fragment {
super.onStart();
controller = new PlaybackController(getActivity()) {
@Override
public boolean loadMediaInfo() {
public void loadMediaInfo() {
CoverFragment.this.loadMediaInfo();
return true;
}
@Override

View File

@ -108,8 +108,8 @@ public class ExternalPlayerFragment extends Fragment {
}
@Override
public boolean loadMediaInfo() {
return ExternalPlayerFragment.this.loadMediaInfo();
public void loadMediaInfo() {
ExternalPlayerFragment.this.loadMediaInfo();
}
@Override
@ -170,11 +170,11 @@ public class ExternalPlayerFragment extends Fragment {
}
}
private boolean loadMediaInfo() {
private void loadMediaInfo() {
Log.d(TAG, "Loading media info");
if (controller == null) {
Log.w(TAG, "loadMediaInfo was called while PlaybackController was null!");
return false;
return;
}
if (disposable != null) {
@ -186,7 +186,6 @@ public class ExternalPlayerFragment extends Fragment {
.subscribe(this::updateUi,
error -> Log.e(TAG, Log.getStackTraceString(error)),
() -> ((MainActivity) getActivity()).setPlayerVisible(false));
return true;
}
private void updateUi(Playable media) {

View File

@ -140,9 +140,8 @@ public class ItemDescriptionFragment extends Fragment {
super.onStart();
controller = new PlaybackController(getActivity()) {
@Override
public boolean loadMediaInfo() {
public void loadMediaInfo() {
load();
return true;
}
@Override

View File

@ -238,7 +238,12 @@ public class ItemFragment extends Fragment {
public void onStart() {
super.onStart();
EventBus.getDefault().register(this);
controller = new PlaybackController(getActivity());
controller = new PlaybackController(getActivity()) {
@Override
public void loadMediaInfo() {
// Do nothing
}
};
controller.init();
}

View File

@ -51,7 +51,7 @@ import java.util.List;
* Communicates with the playback service. GUI classes should use this class to
* control playback instead of communicating with the PlaybackService directly.
*/
public class PlaybackController {
public abstract class PlaybackController {
private static final String TAG = "PlaybackController";
private static final int INVALID_TIME = -1;
@ -431,7 +431,10 @@ public class PlaybackController {
}
private void checkMediaInfoLoaded() {
mediaInfoLoaded = (mediaInfoLoaded || loadMediaInfo());
if (!mediaInfoLoaded) {
loadMediaInfo();
}
mediaInfoLoaded = true;
}
private void updatePlayButtonAppearance(int resource, CharSequence contentDescription) {
@ -446,9 +449,7 @@ public class PlaybackController {
return null;
}
public boolean loadMediaInfo() {
return false;
}
public abstract void loadMediaInfo();
public void onAwaitingVideoSurface() {}