TeamNewPipe / NewPipe

A libre lightweight streaming front-end for Android.
https://newpipe.net
GNU General Public License v3.0
29.39k stars 2.94k forks source link

Rewrite Issue 1: The Jetpack Compose Migration #11198

Open opusforlife2 opened 1 week ago

opusforlife2 commented 1 week ago

Feature description

Newpipe is intended to be migrated completely to Jetpack Compose. This is a meta issue to coordinate efforts and keep everyone informed.

Why do you want this feature?

See https://github.com/TeamNewPipe/NewPipe/discussions/10118.

Additional information

@snaik20 @uragiristereo @imashnake0 @lm41 @YongJunLim @AaronRietschlin @sandy-8925 @PrimoDev23 @EricDriussi @rahul-gill @Profpatsch @Chinaqth @acrodemocide @fuzzblob @XilinJia @GGindin @davidasunmo @chriss2401

You've been bulk-pinged because you volunteered at some point or other to help with the rewrite. Well, Newpipe is intending to avoid obscurity and obsolescence by clawing its way into the modern Android world, and now we've finally gotten to a state where you can help.

This is issue number 1 for tracking the rewrite efforts. More to follow. Let us know if you're willing and currently able to participate.

If anyone is already a Jetpack Compose expert/veteran here, please let us know about that too. Not everyone on the team is familiar with it.

Also, here's a bit of guidance from @Stypox on this: Guidelines.pdf

opusforlife2 commented 1 week ago

Ideally, we need small, incremental, no-brainer PRs so that nothing breaks as far as possible. Also so that reviewing and merging them is dead simple.

snaik20 commented 1 week ago

I have a solid understanding of Jetpack Compose and have begun migrating the settings pages to Compose. However, I've recently been occupied with other tasks and haven't been able to submit new PRs. I expect to be available in 1-2 weeks and will strive to contribute regularly.

If anyone is interested in helping with the settings redesign, I would greatly appreciate it. I can review contributions and take ownership of the settings module.

opusforlife2 commented 6 days ago

Settings really is the first thing that needs to be overhauled. I'm glad you're working on it.

rahul-gill commented 6 days ago

I'll add some compose specific points to keep in mind when writing new code and reviewing compose related pull requests:

On refactor branch, currently, there's only rudimentary styling handling.

I'm good with layouts so I'll be able to help with basic styling code and making layout that'll work with different screen sizes properly

TheLogicals commented 5 days ago

@snaik20 I'd be happy to assist and have experience with Jetpack Compose as well as XML. Please let me know how I can contribute.

snaik20 commented 5 days ago

@snaik20 I'd be happy to assist and have experience with Jetpack Compose as well as XML. Please let me know how I can contribute.

You could start adding PRs for https://github.com/TeamNewPipe/NewPipe/issues/9587. I have added the Jetpack compose setup and some initial work for debug page. So you could build on that and add me as reviewer for your PRs. Note that the compose work is currently added in refactor branch. So you need to use it as base for your PRs.

opusforlife2 commented 4 days ago

@TheLogicals Would you like to be added to the volunteer list?