Skip to content

AboutActivity rewrite#13486

Merged
theimpulson merged 15 commits into
devfrom
cmp
Jun 8, 2026
Merged

AboutActivity rewrite#13486
theimpulson merged 15 commits into
devfrom
cmp

Conversation

@theimpulson

@theimpulson theimpulson commented May 9, 2026

Copy link
Copy Markdown
Member

What is it?

  • Bugfix (user facing)
  • Feature (user facing) ⚠️ Your PR must target the refactor branch
  • Codebase improvement (dev facing)
  • Meta improvement to the project (dev facing)

Description of the changes in your PR

  • Rewrites AboutActivity in compose (changes are imported from refactor but adapted for multi-platform)

Before/After Screenshots/Screen Record

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

@github-actions github-actions Bot added the size/giant PRs with more than 750 changed lines label May 9, 2026
@theimpulson theimpulson marked this pull request as ready for review May 13, 2026 03:25
@theimpulson theimpulson marked this pull request as draft May 13, 2026 03:27
@ShareASmile ShareASmile added code quality Improvements to the codebase to improve the code quality meta Related to the project but not strictly to code multi-platform Issues/PRs related to the app on multi-platforms labels May 13, 2026
@theimpulson theimpulson reopened this May 21, 2026
The plugin traverses child libraries automatically, so adding it to the parent modules
allows us to include dependencies of the whole app and not just the shared part.

Configure app and desktopApp to generate the BOM in respective directories
of shared module. As iosApp only contains swift, add it's configuration in shared.

Also override extractor and evernote's messed up license

Generated using: ./gradlew exportLibraryDefinitions

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
It seems the licenses in the generated BOM by aboutlibraries plugin isn't consistent
and changes without any reason

Licenses were downloaded using reuse tool

reuse --root shared/src/commonMain/composeResources/files/ download Apache-2.0 BSD-2-Clause EPL-1.0 GPL-3.0-only GPL-3.0-or-later MIT MPL-2.0 MIT-0

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
@theimpulson theimpulson marked this pull request as ready for review June 2, 2026 09:22
@theimpulson theimpulson changed the title Introduce CMP and AboutActivity rewrite AboutActivity rewrite Jun 2, 2026
Actual pages require Koin to handle callbacks which we don't need during preview.
Extract page setup into a parameter and override it to page content during preview.

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
@theimpulson

theimpulson commented Jun 4, 2026

Copy link
Copy Markdown
Member Author

It seems some data like library's developers can be empty as well.

        {
            "uniqueId": "androidx.databinding:viewbinding",
            "artifactVersion": "9.2.1",
            "name": "androidx.databinding:viewbinding",
            "description": "",
            "developers": [
                
            ],
            "licenses": [
                "Apache-2.0"
            ]
        },

…lable

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>

@Idadelveloper Idadelveloper left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Thanks for the changes. I have expressed my thoughts and requested some changes. Just to add when I switch to the Licences tab of the about screen and then i scroll the app crashes. Also looks like there is no proper escaping of the \ character in the about and license text.

Comment thread shared/src/commonMain/kotlin/net/newpipe/app/viewmodel/about/AboutViewModel.kt Outdated
Comment thread shared/src/androidMain/kotlin/net/newpipe/app/ComposeActivity.kt Outdated
Comment thread shared/src/androidMain/kotlin/net/newpipe/app/ComposeActivity.kt
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
Largely inspired from https://insert-koin.io/docs/reference/koin-compose/navigation3/
However I adapted certain things as needed.

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
We cannot mark strings as non-translatable in KMP. Remove it and make it
a constant in config instead so that the users don't translate it.

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
@theimpulson theimpulson requested a review from Idadelveloper June 8, 2026 08:37
@theimpulson

Copy link
Copy Markdown
Member Author

Thanks for the changes. I have expressed my thoughts and requested some changes. Just to add when I switch to the Licences tab of the about screen and then i scroll the app crashes. Also looks like there is no proper escaping of the \ character in the about and license text.

Hi, Ida, these all should be fixed. Could you please review again, also the nav3 with Koin commit too.

@Idadelveloper Idadelveloper left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

everything looks good to me

@theimpulson theimpulson merged commit f102205 into dev Jun 8, 2026
5 checks passed
@theimpulson theimpulson deleted the cmp branch June 8, 2026 09:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

code quality Improvements to the codebase to improve the code quality meta Related to the project but not strictly to code multi-platform Issues/PRs related to the app on multi-platforms size/giant PRs with more than 750 changed lines

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants