* IcePick fails on Java 21 (default in Android Studio 2024.2)
* Bridge is the most modern alternative that is currently available. It is backed by ``Android-State`` and can be configured with various frameworks
* In the long term this should be replaced with something better
Initial Work for Settings Page with Jetpack Compose
- Implemented a new settings page using Jetpack Compose.
- Added a new settings option to enable the redesigned settings page.
- This option allows for gradual integration and testing of the new
settings page, minimizing disruptions to current functionality.
Plan for Settings Items:
- Jetpack Compose does not have a direct equivalent to the
Preference/settings library.
- We could consider using third-party libraries that offer preference
items as composables.
- However, these libraries may be incomplete or lack active development.
- Given our specific needs for only a subset of preference types,
creating custom composables would be beneficial.
- This approach allows for fine-tuning the components to our specific
use case.
* Rename .java to .kt
* Migrate related items fragment to Jetpack Compose
* Specify mode parameter explicitly
* Rm unused class
* Fix list item size
* Added stream progress bar, separate stream and playlist thumbnails
* Display message if no related streams are available
* Dispose of related items when closing the video player
* Add modifiers for no items message function
* Implement remaining stream menu items
* Improved stream composables
* Use view model lifecycle scope
* Make live color solid red
* Use nested scroll modifier
* Simplify determineItemViewMode()
* add NP icon for Android Studio's NewUI
* Fix NPE in MediaSessionPlayerUi while destroying player
* Update NewPipeExtractor to v0.24.1
* Add changelogs for hotfix release v0.27.1 (998)
* Hotfix release v0.27.1 (998)
* Update README.pt_BR.md (#11275)
* Update Matrix room link, and prioritise it (#11350)
* Update Matrix room link, and prioritise it
* Update Matrix room link in CONTRIBUTING.md
* Prioritise Matrix in contribution doc too
* Update NewPipeExtractor to v0.24.2
* Hotfix release v0.27.2 (999)
* Add changelogs for hotfix release v0.27.2 (999)
* Don't warn about rhino class in proguard
Likely related to 01a7b20655 but I am not completely sure.
I tested the app and it works well, so I think that org.mozilla.javascript.JavaToJSONConverters is not used really.
This is the full list of errors:
Missing class java.beans.BeanDescriptor (referenced from: java.lang.Object org.mozilla.javascript.JavaToJSONConverters.lambda$static$4(java.lang.Object))
Missing class java.beans.BeanInfo (referenced from: java.lang.Object org.mozilla.javascript.JavaToJSONConverters.lambda$static$4(java.lang.Object))
Missing class java.beans.IntrospectionException (referenced from: java.lang.Object org.mozilla.javascript.JavaToJSONConverters.lambda$static$4(java.lang.Object))
Missing class java.beans.Introspector (referenced from: java.lang.Object org.mozilla.javascript.JavaToJSONConverters.lambda$static$4(java.lang.Object))
Missing class java.beans.PropertyDescriptor (referenced from: java.lang.Object org.mozilla.javascript.JavaToJSONConverters.lambda$static$4(java.lang.Object))
* Remove code committed accidentally
---------
Co-authored-by: Christian Schabesberger <chris.schabesberger@mailbox.org>
Co-authored-by: Tobi <TobiGr@users.noreply.github.com>
Co-authored-by: Stypox <stypox@pm.me>
Co-authored-by: #27 <68751594+tag27@users.noreply.github.com>
Co-authored-by: opusforlife2 <53176348+opusforlife2@users.noreply.github.com>
This pull request integrates Jetpack Compose into NewPipe by:
- Adding the necessary dependencies and setup.
- This is part of the NewPipe rewrite and fulfils the requirement for
the planned settings page redesign.
- Introducing a Toolbar composable with theming that aligns with
NewPipe's design.
Note:
- Theme colors are generated using the Material Theme builder (https://m3.material.io/styles/color/overview).
The previous "main" tab is now just a normal tab returned in getTabs().
Various part of the code that used to handle channels as ListInfo now either take the first (playable, i.e. with streams) tab (e.g. the ChannelTabPlayQueue), or take all of them combined (e.g. the feed).