Stypox
f27ec53c08
Even more centralized error handling in ErrorInfo
2025-09-05 12:39:16 +02:00
Stypox
38064be702
Add more specific error messages and deduplicate their handling
2025-08-28 17:05:52 +02:00
TobiGr
74562db965
Use androidx compat alert dialog
2025-08-27 11:45:31 +02:00
Profpatsch
386d5197d8
Permission: display explanatory dialog for Android > R
...
On Android > R, ACTION_MANAGE_OVERLAY_PERMISSION always brings the
user to the app selection screen.
https://developer.android.com/about/versions/11/privacy/permissions#manage_overlay
This is highly confusing behaviour from the system, so let’s add an
instruction before navigating to the settings menu.
2025-08-27 11:38:25 +02:00
Tobi
ff3526b28d
Merge pull request #12460 from Isira-Seneviratne/Short-count-refactor
...
Fix short count formatting for Android versions below 7.0
2025-08-01 10:56:41 -07:00
Stypox
b7b836e941
Update the names of YT kiosks
2025-07-31 23:43:19 +02:00
Stypox
7cecd11f72
[YouTube] Add icons and strings for new trending pages
2025-07-31 23:43:19 +02:00
litetex
70841db92f
Cleanup `Localization` formatting
2025-07-28 15:11:27 +02:00
Isira Seneviratne
9f11db8e06
Improve scale display
2025-07-28 09:02:52 +05:30
Isira Seneviratne
9f526e8e8f
Fix short count formatting for Android versions below 7.0
2025-07-24 07:56:44 +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
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
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
Profpatsch
e554c77f2e
Comments: Put @ on the right side of right-to-left usernames
...
From the discussion in
https://github.com/TeamNewPipe/NewPipe/pull/12188 it reads more
natural for RTL readers.
2025-05-07 14:20:44 +02:00
VougJo23
8d679626f0
fix: support RTL usernames in comment header
...
The `@` gets added by the youtube API and thus is a fixed member of
the username, so we do some simple detection logic to handle that
case (otherwise the `@` will be at the right side of a RTL username,
which is different of how Youtube displays these usernames in the
browser).
Fixes https://github.com/TeamNewPipe/NewPipe/issues/12141
2025-05-07 12:05:09 +02:00
Stypox
756327da39
Merge pull request #12093 from mileskrell/mileskrell/support-per-app-language-preferences
...
Support per-app language preferences
2025-04-08 23:13:07 +02:00
FineFindus
e1dedd45ed
[YouTube] Access first element if array size is one
...
Fixes a regression, where if the challenge data array size was one, the second element
would be accessed, leading to a crash.
This was introduced when porting the challenge parsing from JS to
Kotlin.
Ref: 53b599b042
2025-04-02 22:14:01 +02:00
Miles Krell
205466c56a
Move call to setApplicationLocales
2025-03-27 19:14:41 -04:00
Stypox
196c27792b
Merge pull request #12044 from TeamNewPipe/android-auto
...
Add support for Android Auto *(season 2)*
2025-03-21 11:21:58 +01:00
Miles Krell
87693a2ad1
Redirect to per-app language settings on Android 13+
2025-03-15 21:56:02 -04:00
Miles Krell
10110397fd
Use display name instead of only the language
2025-03-10 22:01:09 -04:00
Stypox
b764ad33c4
Drop some assumptions on how PlayerService is started and reused
...
Read the comments in the lines changed to understand more
2025-02-15 17:48:19 +01:00
Stypox
b62a09b5b3
Use WebSettingsCompat.setSafeBrowsingEnabled
2025-02-04 21:50:10 +01:00
Stypox
87317c6faf
Reorder functions in PoTokenWebView
2025-02-04 21:38:01 +01:00
Stypox
53b599b042
Make JavaScript code compatible with older WebViews
2025-02-04 21:38:01 +01:00
Stypox
21df24abfd
Detect when WebView is broken and return null poToken
...
Some old Android devices have a broken WebView implementation, that can't execute the poToken code. This is now detected and the getWebClientPoToken return null instead of throwing an error in such a case, to allow the extractor to try to extract the video data even without a poToken.
2025-02-04 11:22:50 +01:00
Stypox
3fc487310b
Use Runnable instead of () -> Unit if converted to Runnable anyway
2025-02-04 10:23:45 +01:00
Stypox
056809cb0d
Use "this" instead of "globalThis" as global scope
...
globalThis was introduced only on newer versions of JS
2025-02-04 10:22:10 +01:00
AudricV
a60bb3e7af
[YouTube] Change BotGuard endpoint to youtube.com's one
...
This prevents non-abilities to fetch BotGuard challenge and send its
result with the jnn-pa.googleapis.com domain (domain block like done
on Pi-hole lists or DNS servers).
That's what the official website uses to send the challenge execution
result, however it uses InnerTube to fetch the challenge. Embeds
still use the jnn-pa.googleapis.com domain.
Also rename the makeJnnPaGoogleapisRequest method appropriately.
2025-02-03 13:05:39 +01:00
AudricV
ecd3f6c2ee
[YouTube] Clarify BotGuard API key's origin and disable related Sonar warning
2025-02-01 15:40:16 +01:00
AudricV
70ff47b810
[YouTube] Get visitorData from the service to get valid responses
2025-02-01 15:39:07 +01:00
Stypox
e7fe84f2c7
Make sure downloadAndRunBotguard() is called after <script> loaded
2025-01-31 21:47:46 +01:00
Stypox
2b183a0576
Wrap logs in BuildConfig.DEBUG
2025-01-31 21:47:46 +01:00
Stypox
f856bd9306
Recreate poToken generator if current is broken
...
This will be tried only once, and afterwards an error will be thrown
2025-01-31 21:47:45 +01:00
Stypox
0066b322e1
Unify running on main thread
2025-01-31 21:47:45 +01:00
Stypox
3bdae81c0a
Fix checkstyle
2025-01-31 21:47:45 +01:00
Stypox
6010c4ea7f
Connect poToken generation to extractor
2025-01-31 21:47:45 +01:00
Stypox
690b3410e9
Interfaces for poTokens + WebView implementation
2025-01-31 21:47:44 +01:00
Stypox
01bf855015
Fix naming in VideoDetailFragment: video->stream, videoUrl->url
2025-01-27 14:52:35 +01:00
Stypox
ffe26d882b
Fix loading StreamInfo twice on first VideoDetailFragment opening
2025-01-26 12:39:07 +01:00
AudricV
dc3f55674f
Add support for secondary audio track type
2024-11-24 16:43:22 +01:00
Stypox
06d25b0310
Merge pull request #11244 from Isira-Seneviratne/Android-elapsed-time
...
Use Android's elapsed time formatting
2024-11-18 16:56:41 +01:00
litetex
2e96b65fda
Replaced `Icepick with Bridge and Android-State`
...
* IcePick fails on Java 21 (default in Android Studio 2024.2)
* Bridge is the most modern alternative that is currently available. It is backed by ``Android-State`` and can be configured with various frameworks
* In the long term this should be replaced with something better
2024-10-23 21:28:07 +02:00
Isira Seneviratne
07c63f794e
Update documentation
2024-07-07 14:25:02 +05:30
Isira Seneviratne
26dd86e967
Use Android's elapsed time formatting
2024-07-07 10:46:17 +05:30
Isira Seneviratne
46139340fe
Convert comment touch listener to a lambda
2024-05-15 06:51:57 +05:30
Stypox
24e65ef018
Merge branch 'dev'
2024-04-23 19:23:20 +02:00
bg1722
13baaa31cd
add an intuitive prefix for the duration of lists on UI, and avoid using the new prefix for single videos
2024-04-06 07:58:05 +02:00
Stypox
d8423499dc
Use JSON for settings imports/exports
2024-03-30 16:58:12 +01:00