Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Settings redesign debug page #10876

Merged
merged 2 commits into from
Oct 21, 2024

Conversation

snaik20
Copy link
Contributor

@snaik20 snaik20 commented Mar 9, 2024

What is it?

  • Bugfix (user facing)
  • Feature (user facing)
  • Codebase improvement (dev facing)
  • Meta improvement to the project (dev facing)

Description of the changes in your PR

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.

Next Steps:

  • Continue development by adding more composables for settings
    functionalities and screens.

Fixes the following issue(s)

Screenshots/Videos

NewPipe_SwitchPreference_ON
NewPipe_SwitchPreference_OFF

NewPipe_Settings_Debug_Part1.mp4

APK testing

The APK can be found by going to the "Checks" tab below the title. On the left pane, click on "CI", scroll down to "artifacts" and click "app" to download the zip file which contains the debug APK of this PR. You can find more info and a video demonstration on this wiki page.

Due diligence

Copy link

sonarqubecloud bot commented Mar 9, 2024

@opusforlife2
Copy link
Collaborator

opusforlife2 commented Mar 26, 2024

After enabling the toggle and restarting the app, all I'm getting is a text at the top right saying "Settings", and now I can't go back to the original layout. Is that the intended current PR state or a bug somewhere?

Never mind. That's what #10849 is for.

@snaik20
Copy link
Contributor Author

snaik20 commented Mar 26, 2024

After enabling the toggle and restarting the app, all I'm getting is a text at the top right saying "Settings", and now I can't go back to the original layout. Is that the intended current PR state or a bug somewhere?

Never mind. That's what #10849 is for.

Thanks for checking out the work. You're absolutely correct. This PR focuses on laying the groundwork for Jetpack Compose in the settings page.

We're currently waiting for feedback on theme and color design choices. This feedback might influence the overall implementation details. Once the design aspects are reviewed and approved, we'll proceed with building the rest of the settings page functionality.

Regarding PR #10849, that branch holds the previous implementation without Jetpack Compose. We've kept it open temporarily for reference until this PR with the Compose approach receives some reviews. After we have a clearer direction, we'll close PR #10849.

@opusforlife2
Copy link
Collaborator

We're currently waiting for feedback on theme and color design choices.

Where is this taking place?

@snaik20
Copy link
Contributor Author

snaik20 commented Mar 26, 2024

We're currently waiting for feedback on theme and color design choices.

Where is this taking place?

I had only pinged in the Matrix room.

Copy link
Member

@Stypox Stypox left a comment

Choose a reason for hiding this comment

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

Thank you! Looks mostly good.

app/src/main/res/values/settings_keys.xml Show resolved Hide resolved
@Stypox Stypox mentioned this pull request Mar 27, 2024
5 tasks
@Stypox
Copy link
Member

Stypox commented Mar 28, 2024

@snaik20 if you want, you can start to develop the Jetpack Compose components for settings screen. This will be our first step toward rewriting :-D

@snaik20 snaik20 self-assigned this Apr 11, 2024
@snaik20 snaik20 force-pushed the settings-redesign-debug-page branch from efc8775 to acc1293 Compare April 24, 2024 23:38
@github-actions github-actions bot added the size/large PRs with less than 750 changed lines label Apr 24, 2024
@snaik20
Copy link
Contributor Author

snaik20 commented Apr 24, 2024

@snaik20 if you want, you can start to develop the Jetpack Compose components for settings screen. This will be our first step toward rewriting :-D

Updated the PR to add a working SwitchPreference. The plan ahead is to add other components similarly in followup PRs and integrate the Settings page altogether.

@snaik20 snaik20 force-pushed the settings-redesign-debug-page branch 3 times, most recently from 981fd9f to 6f06ceb Compare April 28, 2024 21:40
@snaik20 snaik20 mentioned this pull request Apr 28, 2024
6 tasks
@snaik20 snaik20 force-pushed the settings-redesign-debug-page branch from 6f06ceb to b1d8f59 Compare May 13, 2024 22:52
@snaik20 snaik20 changed the base branch from dev to refactor May 13, 2024 22:53
Copy link

@opusforlife2
Copy link
Collaborator

Is this just waiting for review or is there something left to be done?

@snaik20
Copy link
Contributor Author

snaik20 commented Jun 23, 2024

Is this just waiting for review or is there something left to be done?

Waiting for final review and approval

@Isira-Seneviratne
Copy link
Member

This PR looks good to me overall.

Better include some previews as well, that way the UI doesn't have to be deployed to be viewed.

@Isira-Seneviratne Isira-Seneviratne assigned snaik20 and unassigned snaik20 Jun 24, 2024
@opusforlife2
Copy link
Collaborator

Wow. I didn't even know you could assign a PR author to their own PR.

@Isira-Seneviratne
Copy link
Member

They were already assigned, I accidentally changed the assignment while going through the project UI.

@ShareASmile ShareASmile added the rewrite Issues and PRs related to rewrite label Oct 5, 2024
@snaik20 snaik20 force-pushed the settings-redesign-debug-page branch from b1d8f59 to 5a8adba Compare October 13, 2024 03:39
- 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.
@snaik20 snaik20 force-pushed the settings-redesign-debug-page branch from 5a8adba to 73520e0 Compare October 13, 2024 04:22
Copy link

@snaik20 snaik20 merged commit b399030 into TeamNewPipe:refactor Oct 21, 2024
6 checks passed
@snaik20 snaik20 deleted the settings-redesign-debug-page branch October 21, 2024 19:17
@opusforlife2

This comment was marked as spam.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
rewrite Issues and PRs related to rewrite size/large PRs with less than 750 changed lines
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

New Settings categorization
5 participants