Skip to content

Commit 9c7ed80

Browse files
committed
Use Optional.map correctly and other improvements
1 parent e8216b2 commit 9c7ed80

4 files changed

Lines changed: 19 additions & 23 deletions

File tree

app/src/main/java/org/schabi/newpipe/fragments/detail/VideoDetailFragment.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -255,7 +255,9 @@ public void onServiceConnected(final Player connectedPlayer,
255255
playerUi.ifPresent(MainPlayerUi::toggleFullscreen);
256256
}
257257

258-
if (playAfterConnect || (currentInfo != null && isAutoplayEnabled()
258+
if (playAfterConnect
259+
|| (currentInfo != null
260+
&& isAutoplayEnabled()
259261
&& playerUi.isEmpty())) {
260262
autoPlayEnabled = true; // forcefully start playing
261263
openVideoPlayerAutoFullscreen();
@@ -1883,8 +1885,9 @@ public void onServiceStopped() {
18831885
@Override
18841886
public void onFullscreenStateChanged(final boolean fullscreen) {
18851887
setupBrightness();
1886-
if (!isPlayerAndPlayerServiceAvailable() || player.UIs().get(MainPlayerUi.class).isEmpty()
1887-
|| getRoot().map(View::getParent).isEmpty()) {
1888+
if (!isPlayerAndPlayerServiceAvailable()
1889+
|| player.UIs().get(MainPlayerUi.class).isEmpty()
1890+
|| getRoot().flatMap(v -> Optional.ofNullable(v.getParent())).isEmpty()) {
18881891
return;
18891892
}
18901893

app/src/main/java/org/schabi/newpipe/player/Player.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1875,8 +1875,7 @@ public void disablePreloadingOfCurrentTrack() {
18751875
loadController.disablePreloadingOfCurrentTrack();
18761876
}
18771877

1878-
@Nullable
1879-
public VideoStream getSelectedVideoStream() {
1878+
public Optional<VideoStream> getSelectedVideoStream() {
18801879
return Optional.ofNullable(currentMetadata)
18811880
.flatMap(MediaItemTag::getMaybeQuality)
18821881
.filter(quality -> {
@@ -1885,8 +1884,7 @@ public VideoStream getSelectedVideoStream() {
18851884
&& selectedStreamIndex < quality.getSortedVideoStreams().size();
18861885
})
18871886
.map(quality -> quality.getSortedVideoStreams()
1888-
.get(quality.getSelectedVideoStreamIndex()))
1889-
.orElse(null);
1887+
.get(quality.getSelectedVideoStreamIndex()));
18901888
}
18911889
//endregion
18921890

app/src/main/java/org/schabi/newpipe/player/mediaitem/MediaItemTag.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,8 +62,8 @@ default Optional<Quality> getMaybeQuality() {
6262
@NonNull
6363
static Optional<MediaItemTag> from(@Nullable final MediaItem mediaItem) {
6464
return Optional.ofNullable(mediaItem)
65-
.map(item -> item.localConfiguration)
66-
.map(localConfiguration -> localConfiguration.tag)
65+
.flatMap(item -> Optional.ofNullable(item.localConfiguration))
66+
.flatMap(localConfiguration -> Optional.ofNullable(localConfiguration.tag))
6767
.filter(MediaItemTag.class::isInstance)
6868
.map(MediaItemTag.class::cast);
6969
}

app/src/main/java/org/schabi/newpipe/player/ui/VideoPlayerUi.java

Lines changed: 9 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1060,12 +1060,11 @@ private void buildQualityMenu() {
10601060
qualityPopupMenu.getMenu().add(POPUP_MENU_ID_QUALITY, i, Menu.NONE, MediaFormat
10611061
.getNameById(videoStream.getFormatId()) + " " + videoStream.getResolution());
10621062
}
1063-
final VideoStream selectedVideoStream = player.getSelectedVideoStream();
1064-
if (selectedVideoStream != null) {
1065-
binding.qualityTextView.setText(selectedVideoStream.getResolution());
1066-
}
10671063
qualityPopupMenu.setOnMenuItemClickListener(this);
10681064
qualityPopupMenu.setOnDismissListener(this);
1065+
1066+
player.getSelectedVideoStream()
1067+
.ifPresent(s -> binding.qualityTextView.setText(s.getResolution()));
10691068
}
10701069

10711070
private void buildPlaybackSpeedMenu() {
@@ -1171,12 +1170,9 @@ private void onQualityClicked() {
11711170
qualityPopupMenu.show();
11721171
isSomePopupMenuVisible = true;
11731172

1174-
final VideoStream videoStream = player.getSelectedVideoStream();
1175-
if (videoStream != null) {
1176-
//noinspection SetTextI18n
1177-
binding.qualityTextView.setText(MediaFormat.getNameById(videoStream.getFormatId())
1178-
+ " " + videoStream.getResolution());
1179-
}
1173+
player.getSelectedVideoStream()
1174+
.map(s -> MediaFormat.getNameById(s.getFormatId()) + " " + s.getResolution())
1175+
.ifPresent(binding.qualityTextView::setText);
11801176
}
11811177

11821178
/**
@@ -1232,10 +1228,9 @@ public void onDismiss(@Nullable final PopupMenu menu) {
12321228
Log.d(TAG, "onDismiss() called with: menu = [" + menu + "]");
12331229
}
12341230
isSomePopupMenuVisible = false; //TODO check if this works
1235-
final VideoStream selectedVideoStream = player.getSelectedVideoStream();
1236-
if (selectedVideoStream != null) {
1237-
binding.qualityTextView.setText(selectedVideoStream.getResolution());
1238-
}
1231+
player.getSelectedVideoStream()
1232+
.ifPresent(s -> binding.qualityTextView.setText(s.getResolution()));
1233+
12391234
if (player.isPlaying()) {
12401235
hideControls(DEFAULT_CONTROLS_DURATION, 0);
12411236
hideSystemUIIfNeeded();

0 commit comments

Comments
 (0)