Skip to content

Conversation

@Bnyro
Copy link
Member

@Bnyro Bnyro commented May 22, 2025

ref https://m3.material.io/blog/building-with-m3-expressive

The audio player so far:
Screenshot_20250523-201544_LibreTube Debug

For other changes fragments, please see the commit history of this PR.

Slightly related to the changes here: #7406

TODO

  • I'm not really happy with the library fragment yet.I wanted to use custom Material Design 3 shapes, but idk how to apply them to buttons. Suggestions welcome.

@Bnyro Bnyro requested a review from FineFindus May 22, 2025 15:07
Copy link
Collaborator

@FineFindus FineFindus left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In terms of design, I think we should move the forward/backward buttons to the position of the next/prev buttons and move the latter somewhere else (perhaps next to the timeline?). This would:

  • give the entire row more breathing space so it doesn't look so cramped
  • avoid the current issue where the next/prev buttons look far more important
  • bring the design closer to that showcased

@Bnyro
Copy link
Member Author

Bnyro commented May 23, 2025

In terms of design, I think we should move the forward/backward buttons to the position of the next/prev buttons and move the latter somewhere else (perhaps next to the timeline?). This would:

Yeah, I agree. I'm just not too sure how to implement this because we have to set the time that we seek by dynamically (there's a preference to change it between 5s, 10s, 30s, ...). Currently we're using a FrameLayout for this, and we can't nest other layouts inside a button afaik. So we probably need to subclass button? 🤔

@Bnyro
Copy link
Member Author

Bnyro commented May 23, 2025

Okay, I decided to just drop the text, it's not that useful and good-looking anyways.

@Bnyro Bnyro force-pushed the expressive branch 3 times, most recently from e269dd6 to 56faf4d Compare May 25, 2025 12:29
@Bnyro Bnyro added help wanted Looking for help testers needed Looking for people to test the changes before merging labels May 25, 2025
@Figim
Copy link
Contributor

Figim commented May 25, 2025

  1. The "playback speed", "Video mode", "Queue" , "sections" and "Sleep timer" buttons in the audio player do not respond when clicked

  2. The audio player view in the app is broken when switching from pip mode to "audio player"

XRecorder_20250525_01.mp4

@Bnyro
Copy link
Member Author

Bnyro commented May 25, 2025

Can't reproduce 1 and 3.

@Figim
Copy link
Contributor

Figim commented May 25, 2025

Can't reproduce 1 and 3.

Have you checked the latest CI version? / 3 hours ago

  1. The button is hidden when you click the "3-dot menu" on a channel you're not subscribed to
XRecorder_20250525_04.mp4
  1. The device navigation buttons were not showing up well in the app. Can this be updated?

It seems that "material you" update was a bit problematic.

My device
Manufacturer: samsung
Board: a32
Arch: arm64-v8a
Android SDK: 33
OS: Android 13
Display: 1080x2194
Font scale: 1.1

@Bnyro
Copy link
Member Author

Bnyro commented May 25, 2025

Autoplay does not work in the audio player

This PR only includes user interface issues, anything like "autoplay not working" is not related to these changes here and should be discussed in a different issue.

@Figim
Copy link
Contributor

Figim commented May 25, 2025

Autoplay does not work in the audio player

This PR only includes user interface issues, anything like "autoplay not working" is not related to these changes here and should be discussed in a different issue.

I found the reason for this, I will open a new issue. ( for 2 issue). There is a problem in the debug version. It would be great if 4 bugs were fixed.

@akashsriramganapathy
Copy link

how to become tester? where can i get this build

@Bnyro
Copy link
Member Author

Bnyro commented May 26, 2025

how to become tester? where can i get this build

While logged in go to the checks tab -> CI under this PR, e.g.
https://github.com/libre-tube/LibreTube/actions/runs/15237876442. The zip file with the apks is at the bottom of the page.

@Bnyro
Copy link
Member Author

Bnyro commented May 26, 2025

Some button animations are still a bit buggy, that's because we use the alpha version of Material 3 Expressive and it will probably get better with the next updates of the Material 3 Expressive library.

@Figim
Copy link
Contributor

Figim commented May 26, 2025

Some button animations are still a bit buggy, that's because we use the alpha version of Material 3 Expressive and it will probably get better with the next updates of the Material 3 Expressive library.

Can the 4 bugs I mentioned above be fixed? The last CI failed

Off topic: You should double check the autoplay bug with the autoplay countdown.

@Bnyro
Copy link
Member Author

Bnyro commented May 26, 2025

Can the 4 bugs I mentioned above be fixed?

Probably? Git patches that I can apply in this PR are welcome.

The last CI failed

Yeah, the GitHub server is timeouting. Nothing we can do.

I retriggered it, seemed to work now.

@Figim
Copy link
Contributor

Figim commented May 27, 2025

  1. Speed, sections, sleep timer etc. buttons on the audio player are overlapping and not opening due to vibration. The buttons on the channel page also vibrate a lot. Maybe they can be made stable

Issues 2,3,4 can be repeated on many devices

@Figim
Copy link
Contributor

Figim commented Jun 27, 2025

CI failed. I would like to test

@Bnyro
Copy link
Member Author

Bnyro commented Jun 27, 2025

I'm currently working on a different PR to migrate to SDK 35, which is however complicated because it forces edge to edge and thus many changes are required.

This PR depends on the SDK35 changes.

@Cubillas7
Copy link

@Bnyro So once sdk35 PR is done , is it possible to generate a new build here to testing purposes? Thanks

@FineFindus
Copy link
Collaborator

As the released Material Expressive (in QPR1) update adjust how dynamic colors are generated, some elements have too low contrast (e.g. see the text in the screenshot). We should address this before merging, to avoid accessibility issues.

LibreTubes Homescreen

@Bnyro Bnyro force-pushed the expressive branch 2 times, most recently from 649b510 to 4fa6b9b Compare September 9, 2025 20:48
Bnyro and others added 2 commits September 9, 2025 22:53
Fixes an issue, where part of the text of the bottom-bar could be hidden.
@Bnyro
Copy link
Member Author

Bnyro commented Sep 9, 2025

Ready to merge from my POV. There are still some small adjustments needed before the release, but overall this should be fine now.

The home page feels still a bit unfinished, but I'm not sure how to change the look of the "featured" and "continue watching" section. I redesigned the trends, bookmarks and playlists category.

@FineFindus can you please have a final look at the latest two commits?

@Bnyro
Copy link
Member Author

Bnyro commented Sep 9, 2025

#7406 will need to be rebased and merged after this PR.

@ch2a

This comment has been minimized.

@Figim
Copy link
Contributor

Figim commented Sep 10, 2025

The audio view is broken when switching from PiP to audio player. This is actually the case in the debug version as well.

@Bnyro Bnyro marked this pull request as ready for review September 10, 2025 14:30
Copy link
Collaborator

@FineFindus FineFindus left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • The player still uses the old loading indicators (I have 0194733, if you want to try and cherry-pick it :))
  • As noted in a previous comment of mine, some of the texts are barely to not at all readable.

The home page feels still a bit unfinished

We should add chevrons the section titles, to indicate that they are clickable.

Neither of them are blockers for merging this though

Comment on lines +84 to +120
<com.google.android.material.button.MaterialButton
android:id="@+id/trending_category"
style="?materialIconButtonOutlinedStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
app:icon="@drawable/ic_frame" />

<com.google.android.material.button.MaterialButton
android:id="@+id/trending_region"
style="?materialIconButtonFilledTonalStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
app:icon="@drawable/ic_region" />
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think these should be moved to the settings as they are preference that are unlikely to be changed often, but that's not a blocker for me

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, I thought it might be handy to be able to browse through the trends of different countries quickly, but perhaps it makes sense to move the region selector to the trending page directly?

Previously, by having it in the settings page, it perhaps wasn't that self-explaining to users what that region is used for (i.e. search results are not influenced by that setting, which might have been confusing, ...)

@Bnyro
Copy link
Member Author

Bnyro commented Sep 12, 2025

  • The player still uses the old loading indicators (I have 0194733, if you want to try and cherry-pick it :))

Yeah, I didn't migrate them at first because I thought it might look weird because all other video players also use the spinning circle.

Just tested, looks fine, so we'll change them too :)

As noted in a previous comment of mine, some of the texts are barely to not at all readable.

I'd appreciate help with that in a follow-up PR as I don't have the QPR1 Android version on my phone yet.

We should add chevrons the section titles, to indicate that they are clickable.

Good point, added!

@Bnyro Bnyro merged commit 82747c4 into libre-tube:master Sep 12, 2025
3 checks passed
@Bnyro Bnyro deleted the expressive branch September 12, 2025 17:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

help wanted Looking for help testers needed Looking for people to test the changes before merging

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants