Commit graph

85 commits

Author SHA1 Message Date
Tobi
bb2886b437 Merge pull request #12575 from TransZAllen/dev
[Bug] Fix missing subtitle text in manually downloaded *.SRT files. (issue #10030)
2025-10-30 14:27:39 -07:00
TransZAllen
1e8de031ae Update app/src/main/java/org/schabi/newpipe/streams/SrtFromTtmlWriter.java
Co-authored-by: Tobi <TobiGr@users.noreply.github.com>
2025-10-29 22:34:47 +08:00
TransZAllen
6ea8f678f1 improve comments on TTML → SRT conversion
- update class header with proper technical references and remove author tag.
- update comments of replacing NBSP('\u00A0'), especially adding examples
  of rendering incorrectly.
2025-10-29 19:25:43 +08:00
TransZAllen
38360ba96f Update app/src/main/java/org/schabi/newpipe/streams/SrtFromTtmlWriter.java
Co-authored-by: Tobi <TobiGr@users.noreply.github.com>
2025-10-28 17:39:04 +08:00
TransZAllen
c76fe2adc6 refactor(ttml): extract recursion into traverseChildNodesForNestedTags()
- Extracted child-node traversal logic from `extractText()`
  into a helper method `traverseChildNodesForNestedTags()`.
- No functional change.
2025-10-17 12:06:18 +08:00
TransZAllen
b984a31117 refactor(ttml): improve extractText() to preserve spaces and special characters
- Replaced `text()` with `getWholeText()`:
  - avoids losing whitespaces at the beginning, end, or within the text;
  - avoids merging two or more consecutive spaces into a single space ' ';
  - avoids converting '\r', '\n', and '\r\n' within the text into a single space ' ';
  For subtitle conversion, the goal is to preserve every character exactly as intended by the subtitle author.
- Normalized tabs, line breaks, and other special characters for SRT-safe output.
- Added comprehensive unit tests in `SrtFromTtmlWriterTest.java`, including cases for simple and nested tags.
2025-10-17 01:57:01 +08:00
TransZAllen
425ff4156d [YouTube] *.srt numbering start at 1 instead of 0. (issue: https://github.com/TeamNewPipe/NewPipe/issues/12670)
- The SubRip (.srt) specification requires subtitle numbering to begin from 1.
- Please refer to https://en.wikipedia.org/wiki/SubRip
- Previously numbering started from 0, which is accepted by most
  players (tested on mpv, VLC, MPlayer, Totem) but not strictly compliant.
2025-09-29 18:04:35 +08:00
TobiGr
99fd1c4a89 Fix JDoc and apply suggestions 2025-08-27 10:38:13 +02:00
TransZAllen
7ee20c72fb [Bug] Fix missing subtitle text in manually downloaded *.SRT files. (issue #10030)
- Previously, *.SRT files only contained timestamps and sequence numbers, without the actual text content.
- Added recursive text extraction to handle nested tags in TTML
  files.(e.g.: <span> tags)
2025-08-27 14:03:42 +08:00
Stypox
c80c378398 Fix downloading/exporting when overwriting file would not truncate 2024-11-24 18:36:54 +01:00
Stypox
f31e5c1a8e Update app/src/main/java/org/schabi/newpipe/streams/io/StoredDirectoryHelper.java
Co-authored-by: Tobi <TobiGr@users.noreply.github.com>
2024-04-23 18:39:56 +02:00
Stypox
8756a6a01a Ignore all errors when getting free storage space
It's not a critical check that needs to be perfomed, so in case something does not work on some device/version, let's just ignore the error.
2024-04-23 18:05:31 +02:00
Stypox
4b0e50fd65 Fix free storage space check for all APIs
See https://stackoverflow.com/q/31171838
See https://pubs.opengroup.org/onlinepubs/9699919799/functions/fstatvfs.html
2024-04-23 12:16:06 +02:00
CloudyRowly
109f02830e Added "free memory" check before downloading [Android N / API 24+] (#10505)
Added "free space" check before downloading eliminating bugs related to out-of-memory on Android N / API 24+
2024-03-21 09:18:55 +01:00
TobiGr
919c274820 Fix doc formatting 2023-09-20 19:44:23 +02:00
Isira Seneviratne
b99dcafba7 Switch to Files.createDirectories() 2023-09-20 19:44:23 +02:00
TobiGr
fd19e8e9f7 Replace RuntimeException with IOException
The RuntimeException was not explicitly declared and thus not caught at every call of this constructor. This change ensures that this possible exception is handled by the dedicated error handlers.
2023-09-17 15:31:19 +02:00
TobiGr
0f42c58409 Small code and doc improvements
Remove unnecessary else-branch and use Collections.isEmpty().
Add doc comment for splitFilename()
2023-09-17 15:31:19 +02:00
Isira Seneviratne
adb597f1ca Use Path in the download helper classes. 2023-09-17 14:50:26 +02:00
Isira Seneviratne
0aefc8e14d Use Math.floorDiv(). 2022-11-09 20:01:40 +05:30
Isira Seneviratne
b49b8f325d Use toArray() with zero-length arrays. 2022-08-05 06:50:55 +05:30
litetex
c32fd9a20c Changed the code accordingly
+ Removed some unused code
2022-07-15 19:55:19 +02:00
litetex
4a4ca3c18e Clean up pre-Lollipop checks 2022-07-13 19:02:24 +02:00
Stypox
8cc890d799 Use @SuppressWarnings for checkstyle suppressions & warnings
It's better to use @SuppressWarnings instead of the suppressions file, so that the warning suppression is at the place where it acts.
2022-03-18 23:57:11 +01:00
litetex
5ae1a58b31 Android 10+ only allows SAF -> Respect that in the dialog 2021-12-08 20:22:26 +01:00
litetex
1ca53732b9 Removed unused import 2021-11-29 21:13:22 +01:00
litetex
6f554a1187 Removed annotations due to wrong warnings 2021-11-29 21:03:59 +01:00
litetex
625ffba8b7 Refactoring + deduplicated code 2021-11-28 14:07:45 +01:00
litetex
9285958b4f Show an alert/dialog when no appropriate file-manager was found 2021-11-27 15:52:54 +01:00
Stypox
6cf6a9faad Provide mime type to file picker to gray out unselectable files 2021-08-01 13:52:32 +02:00
Stypox
c558f90866 Add log when existsAsFile() is called on an invalid StoredFileHelper 2021-07-27 17:56:41 +02:00
Stypox
12e6ef4bce Fix NullPointerException when checking if storage exists 2021-07-27 11:36:14 +02:00
Stypox
2d92f18471 Reimplement storing backup import/export path
#6319 and #6402 were reverted before adding SAF changes, and have been readded at the end of SAF changes
2021-06-08 10:41:24 +02:00
Stypox
d920c7c1ea Check if file really exists before asking user to overwrite it 2021-06-08 10:40:45 +02:00
Stypox
c6ad9b8f66 Fix strange behaviour when app loses access to saf download folder 2021-06-08 10:40:45 +02:00
Stypox
3399ed2b30 Pass mime type so that SAF treats file extension correctly 2021-06-08 10:40:45 +02:00
Stypox
0c322e47cb Add comments to SharpStreams 2021-06-08 10:40:45 +02:00
wb9688
995264e5e2 Move Stored(File|Directory)Helper into NewPipe 2021-06-08 10:40:44 +02:00
wb9688
4e133a3599 Support SAF properly 2021-06-08 10:40:44 +02:00
mhmdanas
1f98ef54de Make some minor changes 2021-05-15 18:48:16 +03:00
mhmdanas
de2e4722ad Fix typos 2020-12-07 13:35:37 +03:00
TobiGr
40d32034dd Fix Lint: Inconsistent line separators 2020-11-22 10:16:27 +01:00
TacoTheDank
04f9272706 Lint: Inner class may be static 2020-11-18 18:02:33 -05:00
TacoTheDank
497e145c70 Lint: Make a bunch of stuff final 2020-11-18 17:50:00 -05:00
TacoTheDank
0ef2e07cf4 Some general-purpose lint cleanup 2020-09-06 12:55:26 +02:00
wb9688
25b56bf5e4 Use final where possible 2020-08-16 10:25:09 +02:00
Avently
a6894644d1 Made checkStyle happy 2020-07-14 20:21:32 +03:00
Avently
aef78ace88 Merged the latest changes 2020-07-13 04:17:21 +03:00
kapodamy
4515a5f4ed checkstyle's amend 2020-07-05 23:55:40 -03:00
kapodamy
39ee35c9d3 update WebMWriter.java 2020-07-03 20:51:45 -03:00