+10
3323868042
Translated using Weblate (Bengali (India))
...
Currently translated at 39.2% (300 of 764 strings)
Translated using Weblate (Lombard)
Currently translated at 0.3% (3 of 764 strings)
Translated using Weblate (French)
Currently translated at 75.8% (66 of 87 strings)
Translated using Weblate (Slovak)
Currently translated at 100.0% (764 of 764 strings)
Translated using Weblate (Hungarian)
Currently translated at 100.0% (764 of 764 strings)
Translated using Weblate (Tigrinya)
Currently translated at 21.8% (167 of 764 strings)
Translated using Weblate (Hindi)
Currently translated at 100.0% (764 of 764 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (764 of 764 strings)
Translated using Weblate (Punjabi)
Currently translated at 100.0% (764 of 764 strings)
Translated using Weblate (Belarusian)
Currently translated at 99.0% (757 of 764 strings)
Translated using Weblate (Slovak)
Currently translated at 77.0% (67 of 87 strings)
Translated using Weblate (Punjabi)
Currently translated at 100.0% (764 of 764 strings)
Translated using Weblate (Bulgarian)
Currently translated at 3.4% (3 of 87 strings)
Translated using Weblate (Santali)
Currently translated at 1.1% (1 of 87 strings)
Translated using Weblate (Hindi)
Currently translated at 100.0% (87 of 87 strings)
Translated using Weblate (German)
Currently translated at 100.0% (764 of 764 strings)
Translated using Weblate (Hindi)
Currently translated at 100.0% (764 of 764 strings)
Translated using Weblate (Punjabi)
Currently translated at 100.0% (87 of 87 strings)
Translated using Weblate (Turkish)
Currently translated at 33.3% (29 of 87 strings)
Translated using Weblate (Punjabi)
Currently translated at 78.1% (68 of 87 strings)
Translated using Weblate (German)
Currently translated at 100.0% (87 of 87 strings)
Translated using Weblate (French)
Currently translated at 74.7% (65 of 87 strings)
Translated using Weblate (French)
Currently translated at 74.7% (65 of 87 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (87 of 87 strings)
Translated using Weblate (Slovak)
Currently translated at 74.7% (65 of 87 strings)
Translated using Weblate (Hindi)
Currently translated at 77.0% (67 of 87 strings)
Translated using Weblate (Punjabi)
Currently translated at 68.9% (60 of 87 strings)
Co-authored-by: 135 <135135@users.noreply.hosted.weblate.org >
Co-authored-by: Balázs Meskó <meskobalazs@mailbox.org >
Co-authored-by: Ding User <dengus@users.noreply.hosted.weblate.org >
Co-authored-by: Dizro <weblate.delirium794@passmail.net >
Co-authored-by: Erenay <erenaydev@proton.me >
Co-authored-by: Femini <nizamismidov4@gmail.com >
Co-authored-by: Fjuro <fjuro@alius.cz >
Co-authored-by: Hosted Weblate <hosted@weblate.org >
Co-authored-by: Kuko <kuko7@protonmail.ch >
Co-authored-by: MatthieuPh <matthieu.philippe@protonmail.com >
Co-authored-by: Mickaël Binos <mickaelbinos@outlook.com >
Co-authored-by: Milan <mobrcian@hotmail.com >
Co-authored-by: Prasanta-Hembram <Prasantahembram720@gmail.com >
Co-authored-by: STV <steeven.lombardi@gmail.com >
Co-authored-by: ShareASmile <ShareASmile@users.noreply.hosted.weblate.org >
Co-authored-by: Sumon Kayal <sumankayalsuman4@gmail.com >
Co-authored-by: Trunars <trunars@abv.bg >
Co-authored-by: VfBFan <drop0815@posteo.de >
Co-authored-by: whistlingwoods <72640314+whistlingwoods@users.noreply.github.com >
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/bg/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/cs/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/de/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fr/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/hi/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pa/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/sat/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/sk/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/tr/
Translation: NewPipe/Metadata
2026-01-09 21:14:38 +01:00
Siddhesh Dhainje and Tobi
a83762c4d7
Removed restoreInstanceState and resultServiceIntent condition
...
(cherry picked from commit 418e34172a )
2026-01-09 11:32:19 -08:00
Siddhesh Dhainje and Tobi
381b383a43
Used requireArguments instead of getArguments
...
(cherry picked from commit a3673f8c3b )
2026-01-09 11:32:19 -08:00
Siddhesh Dhainje and Tobi
d5d92e8340
Fix crash on screen rotation while entering SoundCloud import URL
...
(cherry picked from commit 23b7f21d7c )
2026-01-09 11:32:19 -08:00
Justin L and Tobi
dc5c5b6604
Fix download resume corruption when server returns HTTP 200
...
When resuming a download after interruption, if the server returns
HTTP 200 (full resource) instead of HTTP 206 (partial content), the
code correctly resets mMission.done but fails to reset the 'start'
variable. This causes the subsequent file seek to use a stale offset,
writing new data at incorrect positions.
This bug causes file corruption for large downloads (>5GB) that are
interrupted and resumed, particularly when:
- Switching between WiFi networks
- Server CDN returning different responses
- Connection drops during long downloads
The corruption manifests as duplicate data regions in the file,
which for MP4 downloads results in multiple MOOV atoms and
broken seek functionality.
Fix: Reset start=0 when HTTP 200 is received, ensuring the file
write position correctly restarts from the beginning of the current
resource.
(cherry picked from commit 08008ca6f9 )
2026-01-08 19:07:09 -08:00
Tobi and GitHub
680235ad51
Merge pull request #12922 from TobiGr/enqueue-ui
...
[PlayQueue] Fix incorrect UI states of PlayQueue items
2026-01-07 04:01:51 -08:00
Tobi and GitHub
d4a124a3c4
Merge pull request #12931 from TobiGr/fix/audio-lang
...
[Player] Use original audio language by default
2026-01-07 03:21:39 -08:00
Tobi and GitHub
635e6a56c7
Merge pull request #13008 from dustdfg/playlist_normal_drag
...
Allow dragging boorkmarked playlist in both directions
2026-01-06 09:11:37 -08:00
Yevhen Babiichuk (DustDFG) and TobiGr
02e559e57f
Commit all the playlist changes to db immediately
...
+ some additional minor code cleanup in the file
2026-01-06 12:36:50 +01:00
Yevhen Babiichuk (DustDFG)
9998d99a04
Allow dragging boorkmarked playlist in both directions
...
Ctrl+C/Ctrl+V from newpipe/local/playlist/LocalPlaylistFragment
2026-01-06 10:01:59 +02:00
tobigr
5cefafa145
Prepare for version 0.28.1 (1006)
2026-01-03 11:55:59 +01:00
Mira and tobigr
49aaaebd86
Feat: opus metadata encoding ( #12974 )
...
Feat: Downloading: Add opus audio metadata tags for title, author, date, and a comment tag with the originating URL
This removes the DownloadManagerService.EXTRA_SOURCE field, which is always inferred from the StreamInfo.
2026-01-03 11:55:59 +01:00
Aayush Gupta and GitHub
93166afde4
Merge pull request #12973 from dustdfg/require_preference
...
Replace findPreference(getString(resId) with its null safe shortcut
2026-01-01 13:36:26 +08:00
Aayush Gupta
6c238fafbe
fixup! Convert newpipe/util/KioskTranslator.java to kotlin
...
Copyright and license header are not doc-comments. Move them to the top of the file.
Also re-write it to follow the SPDX formatting as we have followed in the recent Kotlin
conversion.
Additionally, use a better name for the context parameter.
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com >
2025-12-31 17:05:17 +08:00
Tobi and GitHub
e17b1a1fcc
Merge pull request #12975 from dustdfg/playlist_button_work
...
Correct typo in playlist db sql query
2025-12-30 22:58:06 -08:00
Yevhen Babiichuk (DustDFG)
7806a708c2
Correct typo in playlist db sql query
...
Solve #12855
2025-12-31 05:23:14 +02:00
Yevhen Babiichuk (DustDFG)
f6085d0044
Replace findPreference(getString(resId) with its null safe shortcut
2025-12-30 13:30:37 +02:00
tobigr
0a65c862a3
Remove empty translations
2025-12-30 09:16:58 +01:00
c9339a5a03
Translated using Weblate (French)
...
Currently translated at 100.0% (764 of 764 strings)
Translated using Weblate (Punjabi)
Currently translated at 97.2% (743 of 764 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (87 of 87 strings)
Added translation using Weblate (Romany)
Translated using Weblate (Korean)
Currently translated at 97.7% (85 of 87 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (87 of 87 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org >
Co-authored-by: Madalin <madalin.mail09@gmail.com >
Co-authored-by: Mona Lisa <nickwick@users.noreply.hosted.weblate.org >
Co-authored-by: NormalRandomPeople <normal.scribe833@silomails.com >
Co-authored-by: TobiGr <TobiGr@users.noreply.github.com >
Co-authored-by: whistlingwoods <72640314+whistlingwoods@users.noreply.github.com >
Co-authored-by: Максим Горпиніч <gorpinicmaksim0@gmail.com >
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ko/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/sv/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/uk/
Translation: NewPipe/Metadata
2025-12-29 22:06:50 +01:00
tobigr
465979e677
Do not change the aspectRation if the renderer is disabled
2025-12-29 16:41:25 +01:00
TobiGr
7101aecc98
Try to prevent invalid aspectRatio of SurfaceView
...
If the video's hieght is 0, the aspectRatio is set to Float.NaN which can cause further issues. Do not assign invalid values for the aspectRatio.
2025-12-29 16:30:20 +01:00
TobiGr
718335d733
fix(player): Fix scaleX being NaN on minimize to background app switch
...
This aims to fix the following Exception which might occour when watching a live stream and switching the app while 'minimize to backgorund' is enabled:
java.lang.IllegalArgumentException: Cannot set 'scaleX' to Float.NaN
at android.view.View.sanitizeFloatPropertyValue(View.java:17479)
at android.view.View.sanitizeFloatPropertyValue(View.java:17453)
at android.view.View.setScaleX(View.java:16822)
at org.schabi.newpipe.views.ExpandableSurfaceView.onLayout(ExpandableSurfaceView.java:71)
scaleX is set in onMeasure() in which width could be 0 in theory and this leading to a division by zero of a float which results in an assignment of Float.NaN.
2025-12-29 16:30:20 +01:00
Yevhen Babiichuk (DustDFG) and TobiGr
2dde0fef58
Convert newpipe/util/KioskTranslator.java to kotlin
...
Cherry picked from #12947 / 4649e46d1e
2025-12-27 23:13:17 +01:00
Yevhen Babiichuk (DustDFG) and TobiGr
c2f526d5b3
Use context.getString() shorthand instead of context.getResources().getString()
...
Cherry-picked from #12949 / 4360c1b873
2025-12-27 23:12:37 +01:00
TobiGr
58efbf4de8
Fix retrieving incomplete data for SubscriptionEntity
...
This fixes a visual bug in which the channels reported the the subscriber count was unavailable although stored in the db.
Closes #12953
2025-12-26 21:57:26 +01:00
tobigr
a7b226c354
[Player] Use original audio language by default
2025-12-22 10:15:18 +01:00
tobigr
3ffd194f78
Fix insufficient permissions on opening downloaded streams
2025-12-21 18:44:09 +01:00
TobiGr
535f9da422
Fix rebase
2025-12-20 21:23:58 +01:00
TobiGr
5582eac1c4
Only show enqueue option if play queue is not empty in RouterActivity
...
Make enqueue option avilable for playlists as well
2025-12-20 20:59:32 +01:00
Hatake Kakashri and TobiGr
acaaec2cde
Add enqueue option to router dialog
...
- This allows users to enqueue a stream directly to the current player queue when sharing a link with the app, improving the user experience for queue management.
- The 'Enqueue' option is now available in the action selection dialog and can also be set as the preferred open action in the settings.
2025-12-20 20:59:25 +01:00
TobiGr
f7ff5db4b5
[PlayQueue] Fix incorrect UI states of PlayQueue items
...
onNext() is called after onSubscribe() when creating a PlayQueueAdapter. For that reason the last broadcasted event is applied to the UI state although it is already reflected in the PlayQueue that was used to initialize the adapter.
This is the intended behavior of the previously used event broadcaster of the type BehaviorSubject<>. The broadcaster's type was changed to PublishSubject<> which does not emit the last event after onSubscribe().
Ref: https://github.com/TeamNewPipe/NewPipe/issues/9669
2025-12-20 18:28:45 +01:00
Damien Hardy and tobigr
0607b14bb2
add indymotion.fr peertube instance on AndroidManifest.xml
2025-12-19 09:43:14 +01:00
f3876d1c4a
Translated using Weblate (Danish)
...
Currently translated at 98.8% (755 of 764 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (764 of 764 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (764 of 764 strings)
Translated using Weblate (Lithuanian)
Currently translated at 99.2% (758 of 764 strings)
Translated using Weblate (Bengali)
Currently translated at 74.3% (568 of 764 strings)
Co-authored-by: Agustín Cantero <brahiancantero@gmail.com >
Co-authored-by: Dual_A <alaviabdullah782@gmail.com >
Co-authored-by: Hosted Weblate <hosted@weblate.org >
Co-authored-by: MS-PC <MSPCtranslator@gmail.com >
Co-authored-by: cat <catsnote@proton.me >
Co-authored-by: gymka <gymka@archlinux.lt >
2025-12-15 22:02:28 +01:00
Tobi and GitHub
c603c82cff
Merge pull request #12781 from iampopovich/feat/similar-youtube-client-screen-rotation
...
Remember and restore orientation on fullscreen exit
2025-12-14 04:43:19 -08:00
Aayush Gupta
77bea1ac68
Player: Enqueue next on the existing playQueue
...
Fixes 150649aea9
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com >
2025-12-13 17:03:54 +08:00
TobiGr
17ce699037
Do not change orientation on TVs when entering fullscreen
2025-12-10 14:48:45 +01:00
TobiGr
d770c6fd88
Fix state access
2025-12-10 14:46:29 +01:00
TobiGr
7ffc513f46
Fix deprecation of Bundle.getSerializable(String) by using BundleCompat
...
This fixes the following warning during compilation:
file:app/src/main/java/org/schabi/newpipe/about/LicenseFragment.kt:36:55 'fun getSerializable(p0: String?): Serializable?' is deprecated. Deprecated in Java.
2025-12-10 14:42:52 +01:00
Aayush Gupta
4a00dbb15d
Don't swallow error when trying to mark stream as watched
...
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com >
2025-12-03 17:23:53 +08:00
Aayush Gupta
5c9ac912ac
StreamHistoryDAO: Latest entry can be null
...
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com >
2025-12-03 16:44:41 +08:00
TobiGr
d1cbc17a09
Merge branch 'dev' into feat/similar-youtube-client-screen-rotation
2025-11-29 23:30:20 +01:00
Aayush Gupta
e91d647b27
acra: Relocate autoservice dependencies under acra block
...
They are only used for ACRA
Ref: https://www.acra.ch/docs/Custom-Extensions#by-annotation
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com >
2025-11-29 19:54:36 +08:00
Aayush Gupta
6055cf2938
acra: Switch to ZacSweers's fork of autoservice
...
Google has no plans to officially support KSP for autoservice
Ref: https://github.com/google/auto/issues/882
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com >
2025-11-29 19:52:17 +08:00
shaozheng
e045251b58
Always do not rotate screen when Android TV
2025-11-28 17:41:13 +08:00
Aayush Gupta
e5ed0b529f
Bump ktlint to latest stable release and maven coordinate
...
Disable all new rules to avoid massive file-changes. All new rules should be
enabled one by one as per requirements in separate commit to make review easier.
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com >
2025-11-21 20:08:26 +08:00
Aayush Gupta
0131bb227f
Silence warnings regarding new annotation property behavior
...
Ref: https://kotlinlang.org/docs/annotations.html#defaults-when-no-use-site-targets-are-specified
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com >
2025-11-21 20:08:26 +08:00
Aayush Gupta
b06b7c35ca
Relocate toml lint task to buildSrc and extend against default task
...
Fixes build errors after Gradle 9.x upgrade
Ref: https://docs.gradle.org/current/userguide/implementing_custom_tasks.html
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com >
2025-11-21 20:08:26 +08:00
Aayush Gupta
f4d138d06f
Partial-revert: Migrate from KAPT to KSP
...
statesaver has been deprecated for ~ 6 years and incompatible with KSP
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com >
2025-11-19 16:33:43 +08:00
Aayush Gupta
93f03bab87
Call checkpoint creation from an executor
...
java.lang.IllegalStateException: Cannot access database on the main thread since it may potentially lock the UI for a long period of time.
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com >
2025-11-18 12:03:32 +08:00
Aayush Gupta
9702189be4
Move latestEntry into SearchHistoryDao directly
...
The StreamHistoryDao one isn't used, so remove it and streamline the logic
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com >
2025-11-18 12:03:32 +08:00