diff --git a/app/src/main/java/org/schabi/newpipe/player/ui/MainPlayerUi.java b/app/src/main/java/org/schabi/newpipe/player/ui/MainPlayerUi.java index b79ef92357e..72b95dc39a9 100644 --- a/app/src/main/java/org/schabi/newpipe/player/ui/MainPlayerUi.java +++ b/app/src/main/java/org/schabi/newpipe/player/ui/MainPlayerUi.java @@ -292,6 +292,7 @@ protected void setupElementsVisibility() { binding.metadataView.setVisibility(isFullscreen ? View.VISIBLE : View.GONE); binding.titleTextView.setVisibility(isFullscreen ? View.VISIBLE : View.GONE); binding.channelTextView.setVisibility(isFullscreen ? View.VISIBLE : View.GONE); + updateRightSpacerVisibility(); } @Override @@ -512,6 +513,19 @@ private void showHideKodiButton() { && KoreUtils.shouldShowPlayWithKodi(context, playQueue.getItem().getServiceId()) ? View.VISIBLE : View.GONE); } + + private void updateRightSpacerVisibility() { + final boolean hasAudio = binding.audioTrackTextView.getVisibility() != View.GONE; + final boolean hasMeta = binding.metadataView.getVisibility() != View.GONE; + binding.rightSpacer.setVisibility(!hasAudio && !hasMeta + ? View.VISIBLE : View.GONE); + } + + @Override + protected void onTopBarContentChanged() { + updateRightSpacerVisibility(); + } + //endregion @@ -939,6 +953,7 @@ public void toggleFullscreen() { binding.titleTextView.setVisibility(isFullscreen ? View.VISIBLE : View.GONE); binding.channelTextView.setVisibility(isFullscreen ? View.VISIBLE : View.GONE); binding.playerCloseButton.setVisibility(isFullscreen ? View.GONE : View.VISIBLE); + updateRightSpacerVisibility(); setupScreenRotationButton(); } diff --git a/app/src/main/java/org/schabi/newpipe/player/ui/VideoPlayerUi.java b/app/src/main/java/org/schabi/newpipe/player/ui/VideoPlayerUi.java index 7157d6af22f..c6bc1049d93 100644 --- a/app/src/main/java/org/schabi/newpipe/player/ui/VideoPlayerUi.java +++ b/app/src/main/java/org/schabi/newpipe/player/ui/VideoPlayerUi.java @@ -1029,6 +1029,8 @@ private void updateStreamRelatedViews() { binding.audioTrackTextView.setVisibility(View.GONE); binding.playbackSpeed.setVisibility(View.GONE); + onTopBarContentChanged(); + binding.playbackEndTime.setVisibility(View.GONE); binding.playbackLiveSync.setVisibility(View.GONE); @@ -1135,6 +1137,7 @@ private void buildAudioTrackMenu() { .ifPresent(s -> binding.audioTrackTextView.setText( Localization.audioTrackName(context, s))); binding.audioTrackTextView.setVisibility(View.VISIBLE); + onTopBarContentChanged(); audioTrackPopupMenu.setOnMenuItemClickListener(this); audioTrackPopupMenu.setOnDismissListener(this); } @@ -1238,6 +1241,9 @@ private void buildCaptionMenu(@NonNull final List availableLanguages) { protected abstract void onPlaybackSpeedClicked(); + protected void onTopBarContentChanged() { + } + private void onQualityClicked() { qualityPopupMenu.show(); isSomePopupMenuVisible = true; diff --git a/app/src/main/res/layout/player.xml b/app/src/main/res/layout/player.xml index 4e5cd8533f8..ea9c3a30241 100644 --- a/app/src/main/res/layout/player.xml +++ b/app/src/main/res/layout/player.xml @@ -163,7 +163,7 @@ android:layout_width="0dp" android:layout_height="35dp" android:layout_marginEnd="8dp" - android:layout_weight="1" + android:layout_weight="2" android:background="?attr/selectableItemBackground" android:gravity="center" android:minWidth="0dp" @@ -177,6 +177,13 @@ tools:visibility="visible" tools:text="English (Original)" /> + +