Skip to content

Conversation

@dustdfg
Copy link

@dustdfg dustdfg commented Dec 25, 2025

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

Here I converted settings/tabs/Tab.kt from java to kotlin

Tbh I am not even fully sure if it works (I tested but ¯\_(ツ)_/¯). And pr as a whole a bit messy because I know kotlin very bad and for example some fields are declared as nullable to just be 100% set to not null. Thanks to the fact it is a kotlin some things become cleaner but as I said some become less cleaner. So why am I sending this PR? I can't do better for now so sorry for sending this crap... Maybe doesn't look at it!

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 Dec 25, 2025
import org.schabi.newpipe.util.ServiceHelper
import java.util.Objects

abstract class Tab {
Copy link
Member

Choose a reason for hiding this comment

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

It might be better to make it a data class and stop overriding hashcode and equals methods

Copy link
Author

@dustdfg dustdfg Dec 25, 2025

Choose a reason for hiding this comment

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

Do you mean to make Tab a data class? It would mean I can't make it abstract. I am almost sure it is possible to make inner classes to be data classes but not top class.

I also though about it and about composition but the more I edit the less I am sure code still is doing the same...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size/giant PRs with more than 750 changed lines

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants