Stypox
cfb6e114d6
Disable logs about view animations by default
2025-02-16 10:31:42 +01: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
Thiago F. G. Albuquerque
2339f51ad4
[ #11930 ] Share as YouTube temporary playlist
...
Initial commit.
2025-02-14 21:14:42 -03:00
Stypox
99aae7eb28
Merge branch 'dev' into refactor
2025-02-05 15:15:41 +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
AudricV
b8e050f6c4
Adapt YoutubeHttpDataSource to extractor changes and improve requests
...
Always use POST requests and the same body that official HTML5 clients
use for a while.
2025-01-31 22:50:10 +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
Bertrand Jaunet
410c01547c
DownloaderImpl: Auto-close resources and simplify header setting
...
The headers should be overwritten in the same way, based on how
`.header` is the same as `.removeHeader().addHeader()`.
We weren’t closing the request resources after using them, potentially
leaking file handles. This will add autoclosing for both the request
and the body objects.
2025-01-31 12:36:27 +01:00
Profpatsch
fd99c5e461
MainActivity: Fix onBackPressed handling for open player
...
The change
b9dd7078ad3ae2ac1c20969fdd8b97736026b7dc
accidentally moved the `return` into the `{}`, so the logic would fall
through to
```
if (fragmentManager.getBackStackEntryCount() == 1) {`
```
and close the app even though there are still items on the
`VideoFragmentDetail` stack.
To reproduce:
Start video, enqueue another video, then start a third video (which
adds one entry to the stack), and press `back` on the expanded video.
This should keep the player open and go back to the first 2-video
queue, but it actually closes the app before this fix.
2025-01-30 19:40:44 +01:00
Stypox
407d2d768d
Merge pull request #11539 from Isira-Seneviratne/Compose-theme-improvements
...
Compose theme improvements
2025-01-28 14:02:50 +01:00
Stypox
47263f5254
Merge pull request #11959 from Stypox/fix-loading-stream-twice
...
Fix loading StreamInfo twice on first VideoDetailFragment opening
2025-01-27 14:56:51 +01:00
Stypox
01bf855015
Fix naming in VideoDetailFragment: video->stream, videoUrl->url
2025-01-27 14:52:35 +01:00
Profpatsch
ebf3008729
Merge pull request #11870 from TeamNewPipe/sidebar_donations
...
Add link to donation page on app drawer
2025-01-27 13:59:29 +01:00
Christian Schabesberger
33ecfb757e
Sidebar: Add donation link to app drawer
...
This creates a donation link that leads to our donation page on the
NewPipe website.
2025-01-27 13:43:34 +01:00
Profpatsch
b109e4d3cc
Merge pull request #11867 from Profpatsch/player-holder-refactor
...
PlayerHolder refactor
2025-01-27 13:29:53 +01:00
Profpatsch
137ade24ff
Adjust javadoc format
2025-01-27 12:45:30 +01:00
Stypox
ffe26d882b
Fix loading StreamInfo twice on first VideoDetailFragment opening
2025-01-26 12:39:07 +01:00
Stypox
83f8141fe7
Merge pull request #11806 from Thompson3142/fix_subtitle_size
...
Fix caption sizes not being changed
2025-01-25 18:10:56 +01:00
Isira Seneviratne
b78e0b2da8
Merge branch 'refactor' into Compose-theme-improvements
2025-01-25 09:41:29 +05:30
Isira Seneviratne
32a88ab890
Truncate existing file in export
2025-01-25 07:57:01 +05:30
Isira Seneviratne
af3ed992e5
Add error handling for import
2025-01-25 05:40:00 +05:30
Isira Seneviratne
a79516dfff
Use fragment arguments
2025-01-25 05:30:14 +05:30
Profpatsch
dbd11a6a8d
SubscriptionImportWorker: inputs as sealed class
2025-01-22 15:34:04 +01:00
Isira Seneviratne
21973b362a
Use Kotlin Pair
2025-01-22 13:03:57 +01:00
Isira Seneviratne
60586c90d6
Improve subscription upsert methods
2025-01-22 13:03:57 +01:00
Isira Seneviratne
095155d35f
Only get subscription extractor when needed
2025-01-22 13:03:57 +01:00
Isira Seneviratne
c9d155a335
Combine notification and ForegroundInfo creation methods
2025-01-22 13:03:57 +01:00
Isira Seneviratne
c0965a42a1
Added success toasts
2025-01-22 13:03:57 +01:00
Isira Seneviratne
fc7f1b0af0
Convert subscription import service to a worker
2025-01-22 13:03:57 +01:00
Isira Seneviratne
dfb035dfa5
Improve import/export tests
2025-01-22 13:03:57 +01:00
Isira Seneviratne
8e9503cfe4
Convert subscription export service to a worker
2025-01-22 13:03:55 +01:00
Isira Seneviratne
82516dd75c
Rename .java to .kt
2025-01-22 13:02:36 +01:00
Thompson3142
86203d6800
MainPlayer/PopupPlayer: Use system settings for subtitle size
...
This will use the exact subtitle sizes the user requested, both for
the main and the popup player. They will always be the same fraction
of the video, even if the popup player is resized.
2025-01-21 17:23:08 +01:00
Profpatsch
edd19641ac
ErrorActivity: add Timestamp and Package/Service to markdown export
...
These were displayed in the UI, but not added into the markdown export
string.
2025-01-21 16:25:54 +01:00
Nikunj-Aggarwal
65749cbac0
ErrorActivity: Use a proper zoned ISO timestamp
...
Will have a timezone offset and be parsable as valid ISO8601
timestamp.
Also change the label in the UI to just say “Timestamp”
2025-01-21 16:24:07 +01:00
Profpatsch
ce919215fb
PlayerHolder: Separate holder and service event interface
...
Should make it easier to seperate the two further later, both of them
are only implemented by VideoDetailFragment anyway, which is kind of a
code smell!
2024-12-26 01:31:17 +01:00