Isira Seneviratne
ded7205588
Merge branch 'dev' into Merge-dev-to-refactor
...
# Conflicts:
# app/build.gradle
# app/src/main/java/org/schabi/newpipe/App.java
# app/src/main/java/org/schabi/newpipe/about/AboutActivity.kt
# app/src/main/java/org/schabi/newpipe/about/LicenseFragment.kt
# app/src/main/java/org/schabi/newpipe/local/subscription/ImportConfirmationDialog.java
# app/src/main/java/org/schabi/newpipe/player/Player.java
# app/src/main/java/org/schabi/newpipe/player/PlayerService.java
# app/src/main/java/org/schabi/newpipe/settings/ContentSettingsFragment.java
2025-07-21 09:05:32 +05:30
litetex
f48e73eb2a
Cleaned up some code related to app language
...
* Use build constants when possible
* Inline variables
* Don't use var for normal-sized types (that way it's easier to review)
* Split code into methods
2025-07-20 21:52:07 +02:00
Isira Seneviratne
99003bab07
Clean up imports
2025-07-20 16:43:37 +05:30
Isira Seneviratne
9e14f93186
Properly handle when system language is selected
2025-07-20 16:27:07 +05:30
Isira Seneviratne
1f2e5799f7
Merge branch 'dev' into Merge-dev-to-refactor
...
# Conflicts:
# app/build.gradle
# app/src/main/java/org/schabi/newpipe/settings/SettingMigrations.java
# app/src/main/res/values/strings.xml
2025-07-20 05:57:27 +05:30
Isira Seneviratne
b8f9c125cd
Add link for future reference
2025-07-20 05:03:20 +05:30
Isira Seneviratne
893a227ab1
Enable per-app language preferences for Android < 13
2025-07-20 04:50:49 +05:30
Stypox
991d9ea3df
Fix state not saved
2025-07-19 20:39:55 +02:00
Stypox
f94892166d
Improve comment
2025-07-19 20:34:09 +02:00
Stypox
9697112db6
Show error panel in EmptyFragment
2025-07-19 19:41:13 +02:00
tobigr
fe58ec85ed
Fix error detection when loading main page tabs
...
Do not crash if something unexpected happens.
2025-07-19 13:37:54 +02:00
tobigr
941f85781b
Display dialog informing the user about the removal of the Top 50 kiosk
2025-07-19 13:37:54 +02:00
tobigr
7e0ee4eb7a
Update Extractor and add migration to remove SoundCloud Top 50 kiosk
2025-07-18 18:59:28 +02:00
Isira Seneviratne
f93806293a
Merge branch 'dev' into Merge-dev-to-refactor
...
# Conflicts:
# app/build.gradle
# app/src/main/java/org/schabi/newpipe/player/PlayerService.java
# app/src/main/res/values-ca/strings.xml
2025-07-18 19:14:58 +05:30
Stypox
046ea7301b
Apply Kotlin suggestion by @Isira-Seneviratne
2025-07-16 15:53:05 +02:00
Stypox
3998982002
Smaller style fixes
2025-07-16 15:53:05 +02:00
Stypox
a4182b474b
More improve Kotlin converted from java in various places
2025-07-16 15:53:05 +02:00
Stypox
317db719db
Fix comments in PlayerUiList
2025-07-16 15:47:00 +02:00
Stypox
3f62ec7e53
Improve Kotlin converted from java in various places
2025-07-16 15:46:59 +02:00
Profpatsch
7330541499
PlayerUIList: remove remaining uses of getOpt
...
mediaSession is now `@NonNull`, so the getter is as well.
2025-07-16 15:42:59 +02:00
Profpatsch
ed0051a3f6
Player: small class comment
2025-07-16 15:42:59 +02:00
Profpatsch
91aed1e240
VideoDetailFragment: replace every getOpt() with get()
2025-07-16 15:42:59 +02:00
Profpatsch
38ed1da79e
PlayerHolder: use object class to implement singleton pattern
2025-07-16 15:42:59 +02:00
Profpatsch
cc3ecd4169
VideoDetailFragment: convert to kotlin (mechanical, fixup)
...
Mostly 1:1, I had to fix a few places where the automatic conversion
did not infer the right kotlin types, and places where it tried to
convert to `double` instead of using `float` like the original.
Everything else is the result of automatic conversion.
2025-07-16 15:42:58 +02:00
Profpatsch
bf72fd1fa5
VideoDetailFragment: convert to kotlin (mechanical, failing)
...
Just the conversion, errors still there for easier rebasing later.
2025-07-16 15:42:12 +02:00
Profpatsch
86b27cf77d
PlayerHolder: kotlinify optional calls
2025-07-16 15:15:28 +02:00
Profpatsch
4fd3ddf392
PlayerHolder: kotlinify setListener
2025-07-16 15:14:50 +02:00
Profpatsch
fc7daa96e9
PlayerHolder: kotlinify getters
2025-07-16 15:14:50 +02:00
Profpatsch
9b22773070
PlayerHolder: convert to kotlin (mechanical)
2025-07-16 15:14:49 +02:00
Profpatsch
86063fda6a
PlayQueueActivity: inline getServiceConnection() and bind()
...
Both are only used once, and it’s easier to see what’s going on if
they are just inlined in `onCreate`.
2025-07-16 15:07:43 +02:00
Profpatsch
c9be4066f2
PlayerService: inline init block & make non-optional
2025-07-16 15:07:43 +02:00
Profpatsch
462f0ad5c0
PlayerUIList: inline init block
2025-07-16 15:07:43 +02:00
Stypox
4e94b2602d
Merge pull request #12258 from Profpatsch/show-service-name-in-search
2025-07-16 15:02:43 +02:00
Stypox
4ddc0648ef
Merge pull request #12412 from Stypox/fix-ghost-notifications
2025-07-14 21:56:22 +02:00
Isira Seneviratne
183cc580fc
Merge pull request #12415 from Isira-Seneviratne/Zip-migrate-Path
...
Migrate zip import/export to use Path
2025-07-12 06:04:31 +05:30
watermelon42
f119a368d8
Added support for importing Soundcloud likes as a new tab before About in a user's channel.
...
The likes are also retrieved in the feed if the user is subscribed to.
2025-07-11 09:50:33 +02:00
Isira Seneviratne
31f8dd05a7
Convert play queue classes to Kotlin
2025-07-09 07:48:08 +05:30
Isira Seneviratne
c2b6c71947
Rename .java to .kt
2025-07-09 07:48:07 +05:30
Isira Seneviratne
bb7873d157
Fix Sonar warning
2025-07-09 07:48:07 +05:30
Isira Seneviratne
e2a02a1f86
Fix some issues
2025-07-09 07:48:07 +05:30
Isira Seneviratne
690af88db9
Add PlayQueueItem equals and hashCode
2025-07-09 07:48:07 +05:30
Isira Seneviratne
4ffadc2057
Inline variable
2025-07-09 07:47:25 +05:30
Isira Seneviratne
225cb91105
Use InputStream#transferTo()
2025-07-09 07:47:25 +05:30
Isira Seneviratne
3e106b5e4f
Fix DB import/export issue
2025-07-09 07:47:25 +05:30
Isira Seneviratne
72b67ab5d4
Refactor zip import/export using Path
2025-07-09 07:47:25 +05:30
Isira Seneviratne
2acfefd0bc
Merge branch 'dev' into Merge-dev-to-refactor
...
# Conflicts:
# app/src/main/java/org/schabi/newpipe/player/helper/PlayerHolder.java
2025-07-09 07:10:18 +05:30
Stypox
f3c20d43be
Merge pull request #12410 from Stypox/fix-android-auto-thumbnails
2025-07-08 11:42:20 +02:00
Stypox
79084568f2
Fix fullscreen eliciting "clear queue" prompt
2025-07-07 15:07:46 +02:00
Stypox
705b5e5580
Fix ghost notifications on Android 10
...
Fixes #12400 , see there for explanation. Citing from there:
So apparently the problem is onGetRoot always returning a BrowserRoot instance. Making it return null solved the issue (but again, breaks Android Auto compatibility). It turns out (see https://stackoverflow.com/q/63818988/ ) that onGetRoot is also used for media resumption https://developer.android.com/media/implement/surfaces/mobile#mediabrowserservice_implementation , which causes a new notification to pop up (in this case a useless notification because our onGetRoot does not return something that can be used for resumption). So what needs to be done is to check if rootHints?.getBoolean(EXTRA_RECENT) == true and if that's the case not return anything (as EXTRA_RECENT is used by the system for resumption).
The PackageValidator file is taken from 329a21b63c/common/src/main/java/com/example/android/uamp/media/PackageValidator.kt .
2025-07-07 01:06:59 +02:00
Stypox
a4d457b2b2
Use Kotlin's .toUri() instead of Uri.parse()
2025-07-06 15:05:30 +02:00