- Completed the UI and logic for pending items of Debug screen using Jetpack Compose.
- Implemented a new navigation system for settings using the navigation3
lib as it is now stable.
- Reuses the `ScaffoldWithToolbar` composable and removed the previous
`Toolbar` composable to avoid redundancy in code.
- Refactored the `SettingsViewModel` to use a `BooleanPreference` helper
class to reuse and reducing boilerplate for state management.
- Created a shared `TextBase` composable to remove duplicated UI logic
between `SwitchPreference` and `TextPreference`.
- Move the build-variant-dependent logic for LeakCanary and reused it in
Compose and Fragment, this logic is used for ensuring the leak canary
fields are only enabled in debug variants.
- Fixed a layout bug in `SwitchPreference` where long summary text could
misalign the switch component and also adjusted the paddings for consistency.
../../src/main/res/layout/activity_player_queue_control.xml:208: Must use app:tint instead of android:tint
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
../../src/main/java/org/schabi/newpipe/local/subscription/dialog/FeedGroupDialog.kt:509: Must be one or more of: InputMethodManager.HIDE_IMPLICIT_ONLY, InputMethodManager.HIDE_NOT_ALWAYS
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
../../src/main/java/us/shandian/giga/get/sqlite/FinishedMissionStore.java:105: Value must be ≥ 0 but getColumnIndex can be -1
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
Notifications can be disabled manually even after permission has been granted once.
Always check if they are enabled before notifying the user.
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
Currently translated at 100.0% (764 of 764 strings)
Translated using Weblate (Dutch)
Currently translated at 57.3% (51 of 89 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (764 of 764 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (764 of 764 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (764 of 764 strings)
Translated using Weblate (Somali)
Currently translated at 72.1% (551 of 764 strings)
Translated using Weblate (Russian)
Currently translated at 100.0% (764 of 764 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 66.2% (59 of 89 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 66.2% (59 of 89 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (764 of 764 strings)
Translated using Weblate (Dutch)
Currently translated at 99.8% (763 of 764 strings)
Translated using Weblate (Latvian)
Currently translated at 97.6% (746 of 764 strings)
Translated using Weblate (Portuguese (Portugal))
Currently translated at 99.8% (763 of 764 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 53.9% (48 of 89 strings)
Translated using Weblate (Spanish)
Currently translated at 99.8% (763 of 764 strings)
Translated using Weblate (Croatian)
Currently translated at 100.0% (764 of 764 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (89 of 89 strings)
Translated using Weblate (Marathi)
Currently translated at 30.4% (233 of 764 strings)
Translated using Weblate (Portuguese)
Currently translated at 99.8% (763 of 764 strings)
Translated using Weblate (Polish)
Currently translated at 56.1% (50 of 89 strings)
Co-authored-by: 439JBYL80IGQTF25UXNR0X1BG <439JBYL80IGQTF25UXNR0X1BG@users.noreply.hosted.weblate.org>
Co-authored-by: AMOL GHORPADE <amolghorpade4u@gmail.com>
Co-authored-by: Daria Szatan <bla_ke@tuta.io>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Kairos <private.snazzy673@simplelogin.com>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: Miq Maq <maqdishi@gmail.com>
Co-authored-by: Nicolás Pérez <nicoperez241@proton.me>
Co-authored-by: Philip Goto <philip.goto@gmail.com>
Co-authored-by: delvani <del.cidrak@gmail.com>
Co-authored-by: igoroliveira-letras <igoroliveiradasilvaofc@gmail.com>
Co-authored-by: ojppe <ojppe@users.noreply.hosted.weblate.org>
Co-authored-by: ssantos <ssantos@web.de>
Co-authored-by: ℂ𝕠𝕠𝕠𝕝 (𝕘𝕚𝕥𝕙𝕦𝕓.𝕔𝕠𝕞/ℂ𝕠𝕠𝕠𝕝) <coool@mail.lv>
Co-authored-by: 大王叫我来巡山 <hamburger2048@users.noreply.hosted.weblate.org>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/nl/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pl/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hans/
Translation: NewPipe/Metadata
Previously, TtmlConverter.process() caught all exceptions during TTML
to SRT conversion and returned opaque error codes (1 for IOException,
8 for other exceptions). These error codes were then wrapped by
Postprocessing.run() into a generic RuntimeException with the message
'post-processing algorithm returned N', losing the original exception
and its stack trace.
This made it impossible for users and developers to diagnose the root
cause of subtitle download failures, as reported in #13206.
Now, IOExceptions are re-thrown directly, and other exceptions are
wrapped in an IOException with the original exception as the cause.
This allows DownloadMission.doPostprocessing() to properly catch and
report the actual error, including the full stack trace in the crash
report.
Fixes#13206
Signed-off-by: pierreeurope <pierre.europe@pm.me>
* create SubscriptionsImportExportHelper to share common code used in
SubscriptionFragment and BackupRestoreSettingsFragment
* Add UI options for import/export in BackupRestoreSettingsFragment