ExoPlayer allows controlling silence skipping by adjusting the silence duration
that is removed by `SilenceSkippingAudioProcessor`.
The default behavior with the default parameters for this component makes it
hard to listen to content because it leaves almost no pauses. After this commit
it is possible to adjust silence length that remains and shorten only long
pauses.
Fixes [ksp] app/src/main/java/org/schabi/newpipe/database/playlist/dao/PlaylistStreamDAO.kt:140: The columns returned by the query does not have the fields [thumbnailUrl,isThumbnailPermanent,thumbnailStreamId,displayIndex,orderingName] in org.schabi.newpipe.database.playlist.PlaylistDuplicatesEntry even though they are annotated as non-null or primitive. Columns returned by the query: [uid,streamCount,timesStreamIsContained]
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
The defaults should be supplied to the image loading software not the database library.
This would also break when we shrink resources as that would rename the resources.
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
Room has been convereted into a KMP library in the latest stable releases and
annotation processing requires KSP which only generates kotlin classes
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
- update class header with proper technical references and remove author tag.
- update comments of replacing NBSP('\u00A0'), especially adding examples
of rendering incorrectly.
Updating checkstyle fixed a vulnerability and fixed a final class check in version 10.12.2 for local classes without constructor. Local classes without a constructor should be marked as final. That is done in this commit.
For more info see https://github.com/checkstyle/checkstyle/releases/tag/checkstyle-10.12.2
This fulfills the following:
* both should never push content outside of the view
* there should be no wasted space
* `audioTrackTextView` is always aligned to the right
* both should grow equally but also respect their respective contents size first
Caveats:
* Currently the layout weight is distributed using "NestedWeights" which require a widget to be measured twice. According to Android Studio this might cause an exponential performane impact, however there is currently just a single nested component so the effect should be not noticeable
Specifying JDK toolchain in the java block lets us avoid specifying
same version again and again for different options while ensuring everything
is on the same version
Ref: https://developer.android.com/build/jdks#toolchain
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
- 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.
- audioTrackTextView: layout_width=0dp + layout_weight=1
- Make it singleLine with ellipsize="end"
- When not fullscreen, hide metadataView so an empty weighted container doesn’t reserve space
- Result: controls stay visible on small screens; longer labels can use space on larger screens